Module Name: src Committed By: joerg Date: Thu Jan 2 21:35:19 UTC 2014
Modified Files: src/external/bsd/ntp/dist/libntp: timetoa.c Log Message: Avoid pointer operations on the format string. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 src/external/bsd/ntp/dist/libntp/timetoa.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/ntp/dist/libntp/timetoa.c diff -u src/external/bsd/ntp/dist/libntp/timetoa.c:1.1.1.1 src/external/bsd/ntp/dist/libntp/timetoa.c:1.2 --- src/external/bsd/ntp/dist/libntp/timetoa.c:1.1.1.1 Fri Dec 27 23:30:48 2013 +++ src/external/bsd/ntp/dist/libntp/timetoa.c Thu Jan 2 21:35:19 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: timetoa.c,v 1.1.1.1 2013/12/27 23:30:48 christos Exp $ */ +/* $NetBSD: timetoa.c,v 1.2 2014/01/02 21:35:19 joerg Exp $ */ /* * timetoa.c -- time_t related string formatting @@ -59,14 +59,12 @@ format_time_fraction( u_int u; long fraclimit; int notneg; /* flag for non-negative value */ - const char * fmt; ldiv_t qr; DEBUG_REQUIRE(prec != 0); LIB_GETBUF(cp); secs_u = (u_time)secs; - fmt = "-%" UTIME_FORMAT ".%0*ld"; /* check if we need signed or unsigned mode */ notneg = (prec < 0); @@ -94,9 +92,7 @@ format_time_fraction( /* Get the absolute value of the split representation time. */ notneg = notneg || ((time_t)secs_u >= 0); - if (notneg) { - fmt++; /* skip '-' */ - } else { + if (!notneg) { secs_u = ~secs_u; if (0 == frac) secs_u++; @@ -105,7 +101,8 @@ format_time_fraction( } /* finally format the data and return the result */ - snprintf(cp, LIB_BUFLENGTH, fmt, secs_u, prec_u, frac); + snprintf(cp, LIB_BUFLENGTH, "%s%" UTIME_FORMAT ".%0*ld", + notneg? "" : "-", secs_u, prec_u, frac); return cp; }