Diff for /embedaddon/php/ext/standard/image.c between versions 1.1 and 1.1.1.2

version 1.1, 2012/02/21 23:48:02 version 1.1.1.2, 2012/05/29 12:34:43
Line 1283  PHPAPI int php_getimagetype(php_stream * stream, char  Line 1283  PHPAPI int php_getimagetype(php_stream * stream, char 
 }  }
 /* }}} */  /* }}} */
   
/* {{{ proto array getimagesize(string imagefile [, array info])static void php_getimagesize_from_stream(php_stream *stream, zval **info, INTERNAL_FUNCTION_PARAMETERS) /* {{{ */
   Get the size of an image as 4-element array */ 
PHP_FUNCTION(getimagesize) 
 {  {
        zval **info = NULL;        char *temp;
        char *arg1, *temp;        int itype = 0;
        int arg1_len, itype = 0, argc = ZEND_NUM_ARGS(); 
         struct gfxinfo *result = NULL;          struct gfxinfo *result = NULL;
         php_stream * stream = NULL;  
   
         if (zend_parse_parameters(argc TSRMLS_CC, "s|Z", &arg1, &arg1_len, &info) == FAILURE) {  
                 return;  
         }  
           
         if (argc == 2) {  
                 zval_dtor(*info);  
                 array_init(*info);  
         }  
   
         stream = php_stream_open_wrapper(arg1, "rb", STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);  
   
         if (!stream) {          if (!stream) {
                 RETURN_FALSE;                  RETURN_FALSE;
         }          }
Line 1364  PHP_FUNCTION(getimagesize) Line 1349  PHP_FUNCTION(getimagesize)
                         break;                          break;
         }          }
   
         php_stream_close(stream);  
   
         if (result) {          if (result) {
                 array_init(return_value);                  array_init(return_value);
                 add_index_long(return_value, 0, result->width);                  add_index_long(return_value, 0, result->width);
Line 1387  PHP_FUNCTION(getimagesize) Line 1370  PHP_FUNCTION(getimagesize)
         }          }
 }  }
 /* }}} */  /* }}} */
   
   #define FROM_DATA 0
   #define FROM_PATH 1
   
   static void php_getimagesize_from_any(INTERNAL_FUNCTION_PARAMETERS, int mode) {  /* {{{ */
           zval **info = NULL;
           php_stream *stream = NULL;
           char *input;
           int input_len;
           const int argc = ZEND_NUM_ARGS();
   
           if (zend_parse_parameters(argc TSRMLS_CC, "s|Z", &input, &input_len, &info) == FAILURE) {
                           return;
           }
   
           if (argc == 2) {
                           zval_dtor(*info);
                           array_init(*info);
           }
   
   
           if (mode == FROM_PATH) {
                   stream = php_stream_open_wrapper(input, "rb", STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH, NULL);
           } else {
                   stream = php_stream_memory_open(TEMP_STREAM_READONLY, input, input_len);
           }
   
           if (!stream) {
                      RETURN_FALSE;
           }
   
           php_getimagesize_from_stream(stream, info, INTERNAL_FUNCTION_PARAM_PASSTHRU);
           php_stream_close(stream);
   }
   /* }}} */
   
   /* {{{ proto array getimagesize(string imagefile [, array info])
      Get the size of an image as 4-element array */
   PHP_FUNCTION(getimagesize)
   {
           php_getimagesize_from_any(INTERNAL_FUNCTION_PARAM_PASSTHRU, FROM_PATH);
   }
   /* }}} */
   
   /* {{{ proto array getimagesizefromstring(string data [, array info])
      Get the size of an image as 4-element array */
   PHP_FUNCTION(getimagesizefromstring)
   {
           php_getimagesize_from_any(INTERNAL_FUNCTION_PARAM_PASSTHRU, FROM_DATA);
   }
   
 /*  /*
  * Local variables:   * Local variables:

Removed from v.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>