diff options
Diffstat (limited to 'libntp/tvtoa.c')
-rw-r--r-- | libntp/tvtoa.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libntp/tvtoa.c b/libntp/tvtoa.c new file mode 100644 index 0000000..19d4a94 --- /dev/null +++ b/libntp/tvtoa.c @@ -0,0 +1,39 @@ +/* + * tvtoa - return an asciized representation of a struct timeval + */ + +#include "lib_strbuf.h" + +#if defined(VMS) +# include "ntp_fp.h" +#endif /* VMS */ +#include "ntp_stdlib.h" +#include "ntp_unixtime.h" + +#include <stdio.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; +} |