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

Reply via email to