|
|
@ -484,24 +484,24 @@ bool hex2bin(unsigned char *p, const char *hexstr, size_t len) |
|
|
|
storing the result in RESULT. |
|
|
|
storing the result in RESULT. |
|
|
|
Return 1 if the difference is negative, otherwise 0. */ |
|
|
|
Return 1 if the difference is negative, otherwise 0. */ |
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
|
int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y) |
|
|
|
timeval_subtract ( |
|
|
|
|
|
|
|
struct timeval *result, struct timeval *x, struct timeval *y) |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
/* Perform the carry for the later subtraction by updating Y. */ |
|
|
|
/* Perform the carry for the later subtraction by updating Y. */ |
|
|
|
if (x->tv_usec < y->tv_usec) { |
|
|
|
if (x->tv_usec < y->tv_usec) { |
|
|
|
int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1; |
|
|
|
int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1; |
|
|
|
|
|
|
|
|
|
|
|
y->tv_usec -= 1000000 * nsec; |
|
|
|
y->tv_usec -= 1000000 * nsec; |
|
|
|
y->tv_sec += nsec; |
|
|
|
y->tv_sec += nsec; |
|
|
|
} |
|
|
|
} |
|
|
|
if (x->tv_usec - y->tv_usec > 1000000) { |
|
|
|
if (x->tv_usec - y->tv_usec > 1000000) { |
|
|
|
int nsec = (x->tv_usec - y->tv_usec) / 1000000; |
|
|
|
int nsec = (x->tv_usec - y->tv_usec) / 1000000; |
|
|
|
|
|
|
|
|
|
|
|
y->tv_usec += 1000000 * nsec; |
|
|
|
y->tv_usec += 1000000 * nsec; |
|
|
|
y->tv_sec -= nsec; |
|
|
|
y->tv_sec -= nsec; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* Compute the time remaining to wait.
|
|
|
|
/* Compute the time remaining to wait.
|
|
|
|
`tv_usec' is certainly positive. */ |
|
|
|
* `tv_usec' is certainly positive. */ |
|
|
|
result->tv_sec = x->tv_sec - y->tv_sec; |
|
|
|
result->tv_sec = x->tv_sec - y->tv_sec; |
|
|
|
result->tv_usec = x->tv_usec - y->tv_usec; |
|
|
|
result->tv_usec = x->tv_usec - y->tv_usec; |
|
|
|
|
|
|
|
|
|
|
|