#include "time32.h" | |
#include <sys/timeb.h> | |
#include <errno.h> | |
#include <stdint.h> | |
struct timeb32 { | |
int32_t time; | |
unsigned short millitm; | |
short timezone, dstflag; | |
}; | |
int __ftime32(struct timeb32 *tp) | |
{ | |
struct timeb tb; | |
if (ftime(&tb) < 0) return -1; | |
if (tb.time < INT32_MIN || tb.time > INT32_MAX) { | |
errno = EOVERFLOW; | |
return -1; | |
} | |
tp->time = tb.time; | |
tp->millitm = tb.millitm; | |
tp->timezone = tb.timezone; | |
tp->dstflag = tb.dstflag; | |
return 0; | |
} |