travis: update
[m6w6/ext-psi] / psi.d / time.psi
index 0acbf9861247b9eab0014a629712db618430d2f2..9bf08515a1a3fccb4ed3d09f62025720a2098030 100644 (file)
@@ -1,5 +1,5 @@
-#ifdef linux /* old, anyway */
-lib "rt";
+#ifdef __linux__ /* old, anyway */
+#pragma lib "rt"
 #endif
 
 #include <sys/time.h>
@@ -13,16 +13,13 @@ function psi\time() : int {
 }
 
 // extern int gettimeofday(struct timeval *tp, struct timezone *tz);
-function psi\gettimeofday(array &$tv = NULL, array &$tz = NULL) : int {
+function psi\gettimeofday(array &$tv = NULL) : int {
        let tp = calloc(1, sizeof(struct timeval));
-       let tz = calloc(1, sizeof(struct timezone));
+       let tz = NULL;
        return gettimeofday(tp, tz) as to_int(gettimeofday);
        set $tv = to_array(*tp,
                to_int(tv_sec),
                to_int(tv_usec));
-       set $tz = to_array(*tz,
-               to_int(tz_minuteswest),
-               to_int(tz_dsttime));
 }
 
 // extern char *asctime(struct tm *tm);
@@ -117,3 +114,12 @@ function psi\times(array &$tms = NULL) : int {
                to_int(tms_cstime)
        );
 }
+
+
+function psi\tzset() : void {
+       return tzset() as void(tzset);
+}
+
+function psi\tzname() : array {
+       return tzname_get() as to_array(*tzname_get, 2, to_string(*tzname_get));
+}