Commit:    dd0399f5c6d2acfe53621f9e5daf61c57e8e66c6
Author:    Remi Collet <r...@php.net>         Wed, 24 Apr 2013 16:07:50 +0200
Parents:   7189cc5be85016d41cd4fb65e968d0856bd0aea1
Branches:  PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=dd0399f5c6d2acfe53621f9e5daf61c57e8e66c6

Log:
We need both gdImageCreateFromJpeg* and gdImageCreateFromJpeg*Ex

The new (Ex) functions are used with the new ignore_warning parameter

The standard functions are used in _php_image_create_from_string,
sent as a function pointer, and call without this optional parameter.

Changed paths:
  M  ext/gd/gd.c
  M  ext/gd/libgd/gd.h
  M  ext/gd/libgd/gd_jpeg.c


Diff:
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 1888973..b9ed1cd 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -2670,7 +2670,7 @@ static void 
_php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type,
                        case PHP_GDIMG_TYPE_JPG:
                                ignore_warning = 
INI_INT("gd.jpeg_ignore_warning");
 #ifdef HAVE_GD_BUNDLED
-                               im = gdImageCreateFromJpeg(fp, ignore_warning);
+                               im = gdImageCreateFromJpegEx(fp, 
ignore_warning);
 #else
                                im = gdImageCreateFromJpeg(fp);
 #endif
@@ -4783,7 +4783,7 @@ static void 
_php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type )
                case PHP_GDIMG_TYPE_JPG:
                        ignore_warning = INI_INT("gd.jpeg_ignore_warning");
 #ifdef HAVE_GD_BUNDLED
-                       im_org = gdImageCreateFromJpeg(org, ignore_warning);
+                       im_org = gdImageCreateFromJpegEx(org, ignore_warning);
 #else
                        im_org = gdImageCreateFromJpeg(org);
 #endif
diff --git a/ext/gd/libgd/gd.h b/ext/gd/libgd/gd.h
index 0bd8ad3..e640b96 100644
--- a/ext/gd/libgd/gd.h
+++ b/ext/gd/libgd/gd.h
@@ -362,8 +362,10 @@ gdImagePtr gdImageCreateFromPng(FILE *fd);
 gdImagePtr gdImageCreateFromPngCtx(gdIOCtxPtr in);
 gdImagePtr gdImageCreateFromWBMP(FILE *inFile);
 gdImagePtr gdImageCreateFromWBMPCtx(gdIOCtx *infile);
-gdImagePtr gdImageCreateFromJpeg(FILE *infile, int ignore_warning);
-gdImagePtr gdImageCreateFromJpegCtx(gdIOCtx *infile, int ignore_warning);
+gdImagePtr gdImageCreateFromJpeg(FILE *infile);
+gdImagePtr gdImageCreateFromJpegEx(FILE *infile, int ignore_warning);
+gdImagePtr gdImageCreateFromJpegCtx(gdIOCtx *infile);
+gdImagePtr gdImageCreateFromJpegCtxEx(gdIOCtx *infile, int ignore_warning);
 gdImagePtr gdImageCreateFromWebp(FILE *fd);
 gdImagePtr gdImageCreateFromWebpCtx(gdIOCtxPtr in);
 gdImagePtr gdImageCreateFromWebpPtr (int size, void *data);
diff --git a/ext/gd/libgd/gd_jpeg.c b/ext/gd/libgd/gd_jpeg.c
index 175c5b8..a882b28 100644
--- a/ext/gd/libgd/gd_jpeg.c
+++ b/ext/gd/libgd/gd_jpeg.c
@@ -269,21 +269,31 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, 
int quality)
        gdFree (row);
 }
 
-gdImagePtr gdImageCreateFromJpeg (FILE * inFile, int ignore_warning)
+gdImagePtr gdImageCreateFromJpeg (FILE * inFile)
+{
+       return gdImageCreateFromJpegEx(inFile, 1);
+}
+
+gdImagePtr gdImageCreateFromJpegEx (FILE * inFile, int ignore_warning)
 {
        gdImagePtr im;
        gdIOCtx *in = gdNewFileCtx(inFile);
-       im = gdImageCreateFromJpegCtx(in, ignore_warning);
+       im = gdImageCreateFromJpegCtxEx(in, ignore_warning);
        in->gd_free (in);
 
        return im;
 }
 
-gdImagePtr gdImageCreateFromJpegPtr (int size, void *data, int ignore_warning)
+gdImagePtr gdImageCreateFromJpegPtr (int size, void *data)
+{
+       return gdImageCreateFromJpegPtrEx(size, data, 1);
+}
+
+gdImagePtr gdImageCreateFromJpegPtrEx (int size, void *data, int 
ignore_warning)
 {
        gdImagePtr im;
        gdIOCtx *in = gdNewDynamicCtxEx(size, data, 0);
-       im = gdImageCreateFromJpegCtx(in, ignore_warning);
+       im = gdImageCreateFromJpegCtxEx(in, ignore_warning);
        in->gd_free(in);
 
        return im;
@@ -298,7 +308,12 @@ static int CMYKToRGB(int c, int m, int y, int k, int 
inverted);
  * Create a gd-format image from the JPEG-format INFILE.  Returns the
  * image, or NULL upon error.
  */
-gdImagePtr gdImageCreateFromJpegCtx (gdIOCtx * infile, int ignore_warning)
+gdImagePtr gdImageCreateFromJpegCtx (gdIOCtx * infile)
+{
+       return gdImageCreateFromJpegCtxEx(infile, 1);
+}
+
+gdImagePtr gdImageCreateFromJpegCtxEx (gdIOCtx * infile, int ignore_warning)
 {
        struct jpeg_decompress_struct cinfo;
        struct jpeg_error_mgr jerr;


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to