]> granicus.if.org Git - php/commitdiff
repairing the chaos
authorStefan Esser <sesser@php.net>
Tue, 1 Oct 2002 21:53:25 +0000 (21:53 +0000)
committerStefan Esser <sesser@php.net>
Tue, 1 Oct 2002 21:53:25 +0000 (21:53 +0000)
utime("filename", NULL) is not only valid but a MUST on linux if you are
not the owner...

ext/standard/filestat.c

index f2ab01d8de8c64cbb04c91332e8b8376de19f59d..eea59d6d5e29f15a230321029450d718f2167ee5 100644 (file)
@@ -484,16 +484,20 @@ PHP_FUNCTION(touch)
        struct utimbuf *newtime = NULL;
        int ac = ZEND_NUM_ARGS();
 
-       newtime = &newtimebuf;
 
        if (ac == 1 && zend_get_parameters_ex(1, &filename) != FAILURE) {
+#ifndef HAVE_UTIME_NULL
+               newtime = &newtimebuf;
                newtime->modtime = newtime->actime = time(NULL);
+#endif
        } else if (ac == 2 && zend_get_parameters_ex(2, &filename, &filetime) != FAILURE) {
                convert_to_long_ex(filetime);
+               newtime = &newtimebuf;
                newtime->modtime = newtime->actime = Z_LVAL_PP(filetime);
        } else if (ac == 3 && zend_get_parameters_ex(3, &filename, &filetime, &fileatime) != FAILURE) {
                convert_to_long_ex(fileatime);
                convert_to_long_ex(filetime);
+               newtime = &newtimebuf;
                newtime->actime = Z_LVAL_PP(fileatime);
                newtime->modtime = Z_LVAL_PP(filetime);
        } else {