xref: /third_party/musl/compat/time32/ftime32.c (revision 570af302)
1#include "time32.h"
2#include <sys/timeb.h>
3#include <errno.h>
4#include <stdint.h>
5
6struct timeb32 {
7	int32_t time;
8	unsigned short millitm;
9	short timezone, dstflag;
10};
11
12int __ftime32(struct timeb32 *tp)
13{
14	struct timeb tb;
15	if (ftime(&tb) < 0) return -1;
16	if (tb.time < INT32_MIN || tb.time > INT32_MAX) {
17		errno = EOVERFLOW;
18		return -1;
19	}
20	tp->time = tb.time;
21	tp->millitm = tb.millitm;
22	tp->timezone = tb.timezone;
23	tp->dstflag = tb.dstflag;
24	return 0;
25}
26