X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=psi.d%2Ftime.psi;h=25bc4e86f8d1efbc53eaefc1fa770586920059cb;hp=9302b136f5fcbb8b4f8aa910a359515fbc9dc1cf;hb=d583a661f2349ac7be4922e6eca0687ea8ccfef3;hpb=a107dfcca2dfd0fc5a2779a8d679f778cb8f3290 diff --git a/psi.d/time.psi b/psi.d/time.psi index 9302b13..25bc4e8 100644 --- a/psi.d/time.psi +++ b/psi.d/time.psi @@ -18,14 +18,34 @@ function psi\gettimeofday(array &$tv = NULL, array &$tz = NULL) : int { } // extern char *asctime(struct tm *tm); -function psi\asctime(array $tm = NULL) : string { - let tm = &arrval($tm); +function psi\asctime(array $tm) : string { + let tm = &arrval($tm, + intval($tm_sec), + intval($tm_min), + intval($tm_hour), + intval($tm_mday), + intval($tm_mon), + intval($tm_year), + intval($tm_wday), + intval($tm_yday), + intval($tm_isdst) + ); return to_string(asctime); } // extern char *asctime_r(struct tm *tm, char *buf); -function psi\asctime_r(array $tm = NULL) : string { - let tm = &arrval($tm); +function psi\asctime_r(array $tm) : string { + let tm = &arrval($tm, + intval($tm_sec), + intval($tm_min), + intval($tm_hour), + intval($tm_mday), + intval($tm_mon), + intval($tm_year), + intval($tm_wday), + intval($tm_yday), + intval($tm_isdst) + ); let buf = calloc(32, psi\SIZEOF_CHAR); return to_string(asctime_r); } @@ -65,7 +85,10 @@ function psi\gmtime_r(int $ts) : array { // extern int nanosleep(struct timespec *rqts, struct timespec *rmts); function psi\nanosleep(array $rq = NULL, array &$rm = NULL) : int { - let rqts = &arrval($rq); + let rqts = &arrval($rq, + intval($tv_sec), + intval($tv_nsec) + ); let rmts = calloc(1, psi\SIZEOF_STRUCT_TIMESPEC); return to_int(nanosleep); set $rm = to_array(*rmts,