+\f/*
+** ANYNET_NTOA -- convert a network address to printable form.
+**
+** Parameters:
+** sap -- a pointer to a sockaddr structure.
+**
+** Returns:
+** A printable version of that sockaddr.
+*/
+
+char *
+anynet_ntoa(sap)
+ register SOCKADDR *sap;
+{
+ register char *bp;
+ register char *ap;
+ int l;
+ static char buf[80];
+
+ if (sap->sa_family == AF_INET)
+ {
+ extern char *inet_ntoa();
+
+ return inet_ntoa(((struct sockaddr_in *) sap)->sin_addr);
+ }
+
+ /* unknown family -- just dump bytes */
+ (void) sprintf(buf, "Family %d: ", sap->sa_family);
+ bp = &buf[strlen(buf)];
+ ap = sap->sa_u.sa_data;
+ for (l = sap->sa_len; --l >= 0; )
+ {
+ (void) sprintf(bp, "%02x:", *ap++ & 0377);
+ bp += 3;
+ }
+ *--bp = '\0';
+ return buf;
+}