tests pass now, thanks! On Tue, Sep 6, 2011 at 7:28 AM, Stanislav Malyshev <s...@php.net> wrote: > stas Tue, 06 Sep 2011 05:28:25 +0000 > > Revision: http://svn.php.net/viewvc?view=revision&revision=316207 > > Log: > allow user streams to override ch* on windows too > > Changed paths: > U php/php-src/branches/PHP_5_4/ext/standard/filestat.c > U php/php-src/trunk/ext/standard/filestat.c > > Modified: php/php-src/branches/PHP_5_4/ext/standard/filestat.c > =================================================================== > --- php/php-src/branches/PHP_5_4/ext/standard/filestat.c 2011-09-06 > 05:21:56 UTC (rev 316206) > +++ php/php-src/branches/PHP_5_4/ext/standard/filestat.c 2011-09-06 > 05:28:25 UTC (rev 316207) > @@ -415,6 +415,7 @@ > #endif > return SUCCESS; > } > +#endif > > static void php_do_chgrp(INTERNAL_FUNCTION_PARAMETERS, int do_lchgrp) /* {{{ > */ > { > @@ -450,11 +451,18 @@ > RETURN_FALSE; > } > } else { > +#if !defined(WINDOWS) > +/* On Windows, we expect regular chgrp to fail silently by default */ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not > call chgrp() for a non-standard stream"); > +#endif > RETURN_FALSE; > } > } > > +#if defined(WINDOWS) > + /* We have no native chgrp on Windows, nothing left to do if stream > doesn't have own implementation */ > + RETURN_FALSE; > +#else > if (Z_TYPE_P(group) == IS_LONG) { > gid = (gid_t)Z_LVAL_P(group); > } else if (Z_TYPE_P(group) == IS_STRING) { > @@ -484,20 +492,16 @@ > RETURN_FALSE; > } > RETURN_TRUE; > +#endif > } > /* }}} */ > -#endif > > #ifndef NETWARE > /* {{{ proto bool chgrp(string filename, mixed group) > Change file group */ > PHP_FUNCTION(chgrp) > { > -#if !defined(WINDOWS) > php_do_chgrp(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); > -#else > - RETURN_FALSE; > -#endif > } > /* }}} */ > > @@ -546,6 +550,7 @@ > #endif > return SUCCESS; > } > +#endif > > static void php_do_chown(INTERNAL_FUNCTION_PARAMETERS, int do_lchown) /* {{{ > */ > { > @@ -581,11 +586,19 @@ > RETURN_FALSE; > } > } else { > +#if !defined(WINDOWS) > +/* On Windows, we expect regular chown to fail silently by default */ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not > call chown() for a non-standard stream"); > +#endif > RETURN_FALSE; > } > } > > +#if defined(WINDOWS) > + /* We have no native chown on Windows, nothing left to do if stream > doesn't have own implementation */ > + RETURN_FALSE; > +#else > + > if (Z_TYPE_P(user) == IS_LONG) { > uid = (uid_t)Z_LVAL_P(user); > } else if (Z_TYPE_P(user) == IS_STRING) { > @@ -614,21 +627,18 @@ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", > strerror(errno)); > RETURN_FALSE; > } > + RETURN_TRUE; > +#endif > } > /* }}} */ > -#endif > > + > #ifndef NETWARE > /* {{{ proto bool chown (string filename, mixed user) > Change file owner */ > PHP_FUNCTION(chown) > { > -#if !defined(WINDOWS) > - RETVAL_TRUE; > php_do_chown(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); > -#else > - RETURN_FALSE; > -#endif > } > /* }}} */ > > > Modified: php/php-src/trunk/ext/standard/filestat.c > =================================================================== > --- php/php-src/trunk/ext/standard/filestat.c 2011-09-06 05:21:56 UTC (rev > 316206) > +++ php/php-src/trunk/ext/standard/filestat.c 2011-09-06 05:28:25 UTC (rev > 316207) > @@ -415,6 +415,7 @@ > #endif > return SUCCESS; > } > +#endif > > static void php_do_chgrp(INTERNAL_FUNCTION_PARAMETERS, int do_lchgrp) /* {{{ > */ > { > @@ -450,11 +451,18 @@ > RETURN_FALSE; > } > } else { > +#if !defined(WINDOWS) > +/* On Windows, we expect regular chgrp to fail silently by default */ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not > call chgrp() for a non-standard stream"); > +#endif > RETURN_FALSE; > } > } > > +#if defined(WINDOWS) > + /* We have no native chgrp on Windows, nothing left to do if stream > doesn't have own implementation */ > + RETURN_FALSE; > +#else > if (Z_TYPE_P(group) == IS_LONG) { > gid = (gid_t)Z_LVAL_P(group); > } else if (Z_TYPE_P(group) == IS_STRING) { > @@ -484,20 +492,16 @@ > RETURN_FALSE; > } > RETURN_TRUE; > +#endif > } > /* }}} */ > -#endif > > #ifndef NETWARE > /* {{{ proto bool chgrp(string filename, mixed group) > Change file group */ > PHP_FUNCTION(chgrp) > { > -#if !defined(WINDOWS) > php_do_chgrp(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); > -#else > - RETURN_FALSE; > -#endif > } > /* }}} */ > > @@ -546,6 +550,7 @@ > #endif > return SUCCESS; > } > +#endif > > static void php_do_chown(INTERNAL_FUNCTION_PARAMETERS, int do_lchown) /* {{{ > */ > { > @@ -581,11 +586,19 @@ > RETURN_FALSE; > } > } else { > +#if !defined(WINDOWS) > +/* On Windows, we expect regular chown to fail silently by default */ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not > call chown() for a non-standard stream"); > +#endif > RETURN_FALSE; > } > } > > +#if defined(WINDOWS) > + /* We have no native chown on Windows, nothing left to do if stream > doesn't have own implementation */ > + RETURN_FALSE; > +#else > + > if (Z_TYPE_P(user) == IS_LONG) { > uid = (uid_t)Z_LVAL_P(user); > } else if (Z_TYPE_P(user) == IS_STRING) { > @@ -614,21 +627,18 @@ > php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", > strerror(errno)); > RETURN_FALSE; > } > + RETURN_TRUE; > +#endif > } > /* }}} */ > -#endif > > + > #ifndef NETWARE > /* {{{ proto bool chown (string filename, mixed user) > Change file owner */ > PHP_FUNCTION(chown) > { > -#if !defined(WINDOWS) > - RETVAL_TRUE; > php_do_chown(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); > -#else > - RETURN_FALSE; > -#endif > } > /* }}} */ > > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >
-- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php