--- bjnp-debug.c.orig 2014-09-06 12:38:15 UTC +++ bjnp-debug.c @@ -20,7 +20,7 @@ #include <stdio.h> #include <stdarg.h> -#include <sys/timeb.h> +#include <sys/time.h> #include <errno.h> #include "bjnp.h" @@ -58,7 +58,7 @@ static bjnp_loglevel_t debug_level = LOG_ERROR; static FILE *debug_file = NULL; static time_t start_sec = 0; -static int start_msec; +static suseconds_t start_usec; /* * local functions @@ -192,9 +192,9 @@ { va_list ap; char printbuf[1024]; - struct timeb timebuf; + struct timeval timebuf; int sec; - int msec; + suseconds_t usec; if (level <= debug_level) { /* print received data into a string */ @@ -211,16 +211,16 @@ /* all log messages may go to the own logfile */ if (debug_file != NULL) { - ftime(&timebuf); + gettimeofday (&timebuf, NULL); - if ((msec = timebuf.millitm - start_msec) < 0) { - msec += 1000; - timebuf.time -= 1; + if ((usec = timebuf.tv_usec - start_usec) < 0) { + usec += 1000000; + timebuf.tv_sec -= 1; } - sec = timebuf.time - start_sec; + sec = timebuf.tv_sec - start_sec; - fprintf(debug_file, "%8s: %03d.%03d %s", level2str(level), sec, msec, + fprintf(debug_file, "%8s: %03d.%06ld %s", level2str(level), sec, usec, printbuf); fflush(debug_file); } @@ -234,12 +234,12 @@ * set debug level to level (string) */ - struct timeb timebuf; + struct timeval timebuf; char loglevel[16]; - ftime(&timebuf); - start_sec = timebuf.time; - start_msec = timebuf.millitm; + gettimeofday (&timebuf, NULL); + start_sec = timebuf.tv_sec; + start_usec = timebuf.tv_usec; /* * Set log level