diff options
Diffstat (limited to 'contrib/ntp/libntp/refnumtoa.c')
-rw-r--r-- | contrib/ntp/libntp/refnumtoa.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/contrib/ntp/libntp/refnumtoa.c b/contrib/ntp/libntp/refnumtoa.c index a102015..7c5d96e 100644 --- a/contrib/ntp/libntp/refnumtoa.c +++ b/contrib/ntp/libntp/refnumtoa.c @@ -9,23 +9,28 @@ char * refnumtoa( - u_int32 num + struct sockaddr_storage* num ) { register u_int32 netnum; register char *buf; register const char *rclock; - - netnum = ntohl(num); - + LIB_GETBUF(buf); - rclock = clockname((int)((u_long)netnum >> 8) & 0xff); + if(num->ss_family == AF_INET) { + netnum = ntohl(((struct sockaddr_in*)num)->sin_addr.s_addr); + rclock = clockname((int)((u_long)netnum >> 8) & 0xff); + + if (rclock != NULL) + (void)sprintf(buf, "%s(%lu)", rclock, (u_long)netnum & 0xff); + else + (void)sprintf(buf, "REFCLK(%lu,%lu)", + ((u_long)netnum >> 8) & 0xff, (u_long)netnum & 0xff); - if (rclock != NULL) - (void)sprintf(buf, "%s(%lu)", rclock, (u_long)netnum & 0xff); - else - (void)sprintf(buf, "REFCLK(%lu,%lu)", - ((u_long)netnum >> 8) & 0xff, (u_long)netnum & 0xff); + } + else { + (void)sprintf(buf, "refclock address type not implemented yet, use IPv4 refclock address."); + } return buf; } |