Shouldn't you MFB this? --Jani On Thu, 3 Apr 2003, Rasmus Lerdorf wrote:
>rasmus Thu Apr 3 10:57:31 2003 EDT > > Modified files: (Branch: PHP_4_3) > /php4/ext/exif exif.c > Log: > Clean up the parameter handling here > > >Index: php4/ext/exif/exif.c >diff -u php4/ext/exif/exif.c:1.118.2.15 php4/ext/exif/exif.c:1.118.2.16 >--- php4/ext/exif/exif.c:1.118.2.15 Wed Apr 2 17:06:46 2003 >+++ php4/ext/exif/exif.c Thu Apr 3 10:57:30 2003 >@@ -17,7 +17,7 @@ > +----------------------------------------------------------------------+ > */ > >-/* $Id: exif.c,v 1.118.2.15 2003/04/02 22:06:46 rasmus Exp $ */ >+/* $Id: exif.c,v 1.118.2.16 2003/04/03 15:57:30 rasmus Exp $ */ > > /* ToDos > * >@@ -95,7 +95,7 @@ > }; > /* }}} */ > >-#define EXIF_VERSION "1.4 $Id: exif.c,v 1.118.2.15 2003/04/02 22:06:46 rasmus Exp $" >+#define EXIF_VERSION "1.4 $Id: exif.c,v 1.118.2.16 2003/04/03 15:57:30 rasmus Exp $" > > /* {{{ PHP_MINFO_FUNCTION > */ >@@ -4001,19 +4001,22 @@ > Reads the embedded thumbnail */ > PHP_FUNCTION(exif_thumbnail) > { >- zval **p_name, **p_width, **p_height, **p_imagetype; >- int ret, arg_c = ZEND_NUM_ARGS(); >+ zval *p_width, *p_height, *p_imagetype; >+ char *p_name; >+ int p_name_len, ret, arg_c = ZEND_NUM_ARGS(); > image_info_type ImageInfo; > > memset(&ImageInfo, 0, sizeof(ImageInfo)); > >- if ((arg_c!=1 && arg_c!=3 && arg_c!=4) || zend_get_parameters_ex(arg_c, >&p_name, &p_width, &p_height, &p_imagetype) == FAILURE) { >+ if (arg_c!=1 && arg_c!=3 && arg_c!=4) { > WRONG_PARAM_COUNT; > } > >- convert_to_string_ex(p_name); >+ if (zend_parse_parameters(arg_c TSRMLS_CC, "s|z/z/z/", &p_name, &p_name_len, >&p_width, &p_height, &p_imagetype) == FAILURE) { >+ return; >+ } > >- ret = exif_read_file(&ImageInfo, Z_STRVAL_PP(p_name), 1, 0 TSRMLS_CC); >+ ret = exif_read_file(&ImageInfo, p_name, 1, 0 TSRMLS_CC); > if (ret==FALSE) { > RETURN_FALSE; > } >@@ -4035,11 +4038,14 @@ > if (!ImageInfo.Thumbnail.width || !ImageInfo.Thumbnail.height) { > exif_scan_thumbnail(&ImageInfo TSRMLS_CC); > } >- ZVAL_LONG(*p_width, ImageInfo.Thumbnail.width); >- ZVAL_LONG(*p_height, ImageInfo.Thumbnail.height); >+ zval_dtor(p_width); >+ zval_dtor(p_height); >+ ZVAL_LONG(p_width, ImageInfo.Thumbnail.width); >+ ZVAL_LONG(p_height, ImageInfo.Thumbnail.height); > } > if (arg_c >= 4) { >- ZVAL_LONG(*p_imagetype, ImageInfo.Thumbnail.filetype); >+ zval_dtor(p_imagetype); >+ ZVAL_LONG(p_imagetype, ImageInfo.Thumbnail.filetype); > } > > #ifdef EXIF_DEBUG >@@ -4049,7 +4055,7 @@ > exif_discard_imageinfo(&ImageInfo); > > #ifdef EXIF_DEBUG >- php_error_docref1(NULL TSRMLS_CC, Z_STRVAL_PP(p_name), E_NOTICE, "done"); >+ php_error_docref1(NULL TSRMLS_CC, p_name, E_NOTICE, "done"); > #endif > } > /* }}} */ > > > > -- <- For Sale! -> -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php