/* * numtoa - return asciized network numbers store in local array space */ #include #include #ifdef HAVE_NETINET_IN_H #include /* ntohl */ #endif #include #include "ntp_fp.h" #include "lib_strbuf.h" #include "ntp_stdlib.h" char * numtoa( u_int32 num ) { register u_int32 netnum; register char *buf; netnum = ntohl(num); LIB_GETBUF(buf); snprintf(buf, LIB_BUFLENGTH, "%lu.%lu.%lu.%lu", ((u_long)netnum >> 24) & 0xff, ((u_long)netnum >> 16) & 0xff, ((u_long)netnum >> 8) & 0xff, (u_long)netnum & 0xff); return buf; } /* Convert a refid & stratum to a string */ const char * refid_str( u_int32 refid, int stratum ) { char * text; size_t tlen; if (stratum > 1) return numtoa(refid); LIB_GETBUF(text); text[0] = '.'; memcpy(&text[1], &refid, sizeof(refid)); text[1 + sizeof(refid)] = '\0'; tlen = strlen(text); text[tlen] = '.'; text[tlen + 1] = '\0'; return text; }