Re: cvs: php4 /ext/posix posix.c

From: Date: Tue, 21 May 2002 17:28:18 +0000
Subject: Re: cvs: php4 /ext/posix posix.c
References: 1 2  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-12032@lists.php.net to get a copy of this message
Hi, Just after the commit I recognized some other problem too with this fix. I've already opened and assigned a bug report to me to properly fix this. What you are refering to is probably separating the zval ? - Markus On Tue, May 21, 2002 at 07:00:59PM +0300, Andi Gutmans wrote : > I think this is a problem. The argument could be reference counted and you > are forcing a conversion for all variables pointing at the zval *. The > problem is that if zend_parse_parameters() doesn't give you a zval ** you > can't do convert_to_long_ex(). > Unless I'm missing something this looks like a limitation in > zend_parse_parameters(). > > Andi > > At 23:26 20/05/2002 +0000, Markus Fischer wrote: > >mfischer Mon May 20 19:26:13 2002 EDT > > > > Modified files: > > /php4/ext/posix posix.c > > Log: > > - Fix posix_isatty() and posix_ttyname() (Closes #17323) > > > > > >Index: php4/ext/posix/posix.c > >diff -u php4/ext/posix/posix.c:1.46 php4/ext/posix/posix.c:1.47 > >--- php4/ext/posix/posix.c:1.46 Sat May 4 12:54:13 2002 > >+++ php4/ext/posix/posix.c Mon May 20 19:26:13 2002 > >@@ -16,7 +16,7 @@ > > +----------------------------------------------------------------------+ > > */ > > > >-/* $Id: posix.c,v 1.46 2002/05/04 16:54:13 sas Exp $ */ > >+/* $Id: posix.c,v 1.47 2002/05/20 23:26:13 mfischer Exp $ */ > > > > #ifdef HAVE_CONFIG_H > > #include "config.h" > >@@ -130,7 +130,7 @@ > > static PHP_MINFO_FUNCTION(posix) > > { > > php_info_print_table_start(); > >- php_info_print_table_row(2, "Revision", "$Revision: 1.46 $"); > >+ php_info_print_table_row(2, "Revision", "$Revision: 1.47 $"); > > php_info_print_table_end(); > > } > > /* }}} */ > >@@ -584,13 +584,15 @@ > > Determine terminal device name (POSIX.1, 4.7.2) */ > > PHP_FUNCTION(posix_ttyname) > > { > >- long fd; > >+ zval *z_fd; > > char *p; > > > >- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &fd) == > >FAILURE) > >+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_fd) > >== FAILURE) > > return; > > > >- if (NULL == (p = ttyname(fd))) { > >+ convert_to_long(z_fd); > >+ > >+ if (NULL == (p = ttyname(Z_LVAL_P(z_fd)))) { > > POSIX_G(last_error) = errno; > > RETURN_FALSE; > > } > >@@ -603,13 +605,15 @@ > > Determine if filedesc is a tty (POSIX.1, 4.7.1) */ > > PHP_FUNCTION(posix_isatty) > > { > >- long fd; > >+ zval *z_fd; > > int result; > > > >- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &fd) == > >FAILURE) > >+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_fd) > >== FAILURE) > > return; > > > >- result = isatty(fd); > >+ convert_to_long(z_fd); > >+ > >+ result = isatty(Z_LVAL_P(z_fd)); > > if (!result) > > RETURN_FALSE; > > > > > > > > > >-- > >PHP CVS Mailing List (http://www.php.net/) > >To unsubscribe, visit: http://www.php.net/unsub.php > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- Please always Cc to me when replying to me on the lists. GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc --------------------------------------------------------- "I mean "When in doubt, blame mcrypt" is more often right than wrong :)" "Always right, never wrong :)" - Two PHP developers who want to remain unnamed

« previous php.cvs (#12032) next »