autoconf: split into subdirectories; redirect calls in debug builds
[m6w6/ext-psi] / psi.d / time.psi
index ff81e932c1c8bc0f73c8cb78604942d9c6d91c94..30f713b8bfef3aaf90e47a78760ae2b5e4c5f89e 100644 (file)
@@ -18,13 +18,13 @@ 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);
+       let tm = &arrval($tm);
        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);
+       let tm = &arrval($tm);
        let buf = calloc(32, psi\SIZEOF_CHAR);
        return to_string(asctime_r);
 }
@@ -64,7 +64,7 @@ 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);
        let rmts = calloc(1, psi\SIZEOF_STRUCT_TIMESPEC);
        return to_int(nanosleep);
        set $rm = to_array(*rmts,
@@ -77,7 +77,7 @@ function psi\nanosleep(array $rq = NULL, array &$rm = NULL) : int {
 function psi\times(array &$tms = NULL) : int {
        let buf = calloc(1, psi\SIZEOF_STRUCT_TMS);
        return to_int(times);
-       set $tms = to_array(buf,
+       set $tms = to_array(*buf,
                to_int(tms_utime),
                to_int(tms_stime),
                to_int(tms_cutime),