From: Stefan Esser Date: Tue, 1 Oct 2002 21:53:25 +0000 (+0000) Subject: repairing the chaos X-Git-Tag: MODERN_SYMMETRIC_SESSION_BEHAVIOUR_20021003~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a87f4afc350d96a3c926c19689806d7280548c05;p=php repairing the chaos utime("filename", NULL) is not only valid but a MUST on linux if you are not the owner... --- diff --git a/ext/standard/filestat.c b/ext/standard/filestat.c index f2ab01d8de..eea59d6d5e 100644 --- a/ext/standard/filestat.c +++ b/ext/standard/filestat.c @@ -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 {