/*\r
* Copyright (c) 1986, 1993\r
- * The Regents of the University of California. All rights reserved.\r
+ * The Regents of the University of California. All rights reserved.\r
*\r
* Redistribution and use in source and binary forms, with or without\r
* modification, are permitted provided that the following conditions\r
* documentation and/or other materials provided with the distribution.\r
* 3. All advertising materials mentioning features or use of this software\r
* must display the following acknowledgement:\r
- * This product includes software developed by the University of\r
- * California, Berkeley and its contributors.\r
+ * This product includes software developed by the University of\r
+ * California, Berkeley and its contributors.\r
* 4. Neither the name of the University nor the names of its contributors\r
* may be used to endorse or promote products derived from this software\r
* without specific prior written permission.\r
*/\r
\r
#if defined(LIBC_SCCS) && !defined(lint)\r
-static char sccsid[] = "@(#)ns_ntoa.c 8.1 (Berkeley) 6/4/93";\r
+static char sccsid[] = "@(#)ns_ntoa.c 8.1 (Berkeley) 6/4/93";\r
#endif /* LIBC_SCCS and not lint */\r
\r
#include <sys/param.h>\r
#include <netns/ns.h>\r
#include <stdio.h>\r
\r
-static char *spectHex();\r
+static char *spectHex(char *p0);\r
\r
char *\r
ns_ntoa(\r
- struct ns_addr addr\r
- )\r
+ struct ns_addr addr\r
+ )\r
{\r
- static char obuf[40];\r
- union { union ns_net net_e; u_long long_e; } net;\r
- u_short port = htons(addr.x_port);\r
- register char *cp;\r
- char *cp2;\r
- register u_char *up = addr.x_host.c_host;\r
- u_char *uplim = up + 6;\r
+ static char obuf[40];\r
+ union { union ns_net net_e; u_long long_e; } net;\r
+ u_short port = htons(addr.x_port);\r
+ register char *cp;\r
+ char *cp2;\r
+ register u_char *up = addr.x_host.c_host;\r
+ u_char *uplim = up + 6;\r
\r
- net.net_e = addr.x_net;\r
- sprintf(obuf, "%x", (UINT32)ntohl(net.long_e));\r
- cp = spectHex(obuf);\r
- cp2 = cp + 1;\r
- while (*up==0 && up < uplim) up++;\r
- if (up == uplim) {\r
- if (port) {\r
- sprintf(cp, ".0");\r
- cp += 2;\r
- }\r
- } else {\r
- sprintf(cp, ".%x", *up++);\r
- while (up < uplim) {\r
- while (*cp) cp++;\r
- sprintf(cp, "%02x", *up++);\r
- }\r
- cp = spectHex(cp2);\r
- }\r
- if (port) {\r
- sprintf(cp, ".%x", port);\r
- spectHex(cp + 1);\r
- }\r
- return (obuf);\r
+ net.net_e = addr.x_net;\r
+ sprintf(obuf, "%x", (UINT32)ntohl(net.long_e));\r
+ cp = spectHex(obuf);\r
+ cp2 = cp + 1;\r
+ while (*up==0 && up < uplim) up++;\r
+ if (up == uplim) {\r
+ if (port) {\r
+ sprintf(cp, ".0");\r
+ cp += 2;\r
+ }\r
+ } else {\r
+ sprintf(cp, ".%x", *up++);\r
+ while (up < uplim) {\r
+ while (*cp) cp++;\r
+ sprintf(cp, "%02x", *up++);\r
+ }\r
+ cp = spectHex(cp2);\r
+ }\r
+ if (port) {\r
+ sprintf(cp, ".%x", port);\r
+ spectHex(cp + 1);\r
+ }\r
+ return (obuf);\r
}\r
\r
static char *\r
spectHex(\r
- char *p0\r
- )\r
+ char *p0\r
+ )\r
{\r
- int ok = 0;\r
- int nonzero = 0;\r
- register char *p = p0;\r
- for (; *p; p++) switch (*p) {\r
+ int ok = 0;\r
+ int nonzero = 0;\r
+ register char *p = p0;\r
+ for (; *p; p++) switch (*p) {\r
\r
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':\r
- *p += ('A' - 'a');\r
- /* fall into . . . */\r
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':\r
- ok = 1;\r
- case '1': case '2': case '3': case '4': case '5':\r
- case '6': case '7': case '8': case '9':\r
- nonzero = 1;\r
- }\r
- if (nonzero && !ok) { *p++ = 'H'; *p = 0; }\r
- return (p);\r
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':\r
+ *p += ('A' - 'a');\r
+ /* fall into . . . */\r
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':\r
+ ok = 1;\r
+ case '1': case '2': case '3': case '4': case '5':\r
+ case '6': case '7': case '8': case '9':\r
+ nonzero = 1;\r
+ }\r
+ if (nonzero && !ok) { *p++ = 'H'; *p = 0; }\r
+ return (p);\r
}\r