diff options
Diffstat (limited to 'contrib/ntp/libntp/tvtoa.c')
-rw-r--r-- | contrib/ntp/libntp/tvtoa.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/ntp/libntp/tvtoa.c b/contrib/ntp/libntp/tvtoa.c new file mode 100644 index 0000000..6bc72ac --- /dev/null +++ b/contrib/ntp/libntp/tvtoa.c @@ -0,0 +1,38 @@ +/* + * tvtoa - return an asciized representation of a struct timeval + */ +#include <stdio.h> +#include <sys/time.h> + +#include "lib_strbuf.h" +#if defined(VMS) +#include "ntp_fp.h" +#endif /* VMS */ +#include "ntp_stdlib.h" +#include "ntp_unixtime.h" + +char * +tvtoa( + const struct timeval *tv + ) +{ + register char *buf; + register u_long sec; + register u_long usec; + register int isneg; + + if (tv->tv_sec < 0 || tv->tv_usec < 0) { + sec = -tv->tv_sec; + usec = -tv->tv_usec; + isneg = 1; + } else { + sec = tv->tv_sec; + usec = tv->tv_usec; + isneg = 0; + } + + LIB_GETBUF(buf); + + (void) sprintf(buf, "%s%lu.%06lu", (isneg?"-":""), sec, usec); + return buf; +} |