]> granicus.if.org Git - php/commitdiff
We need both gdImageCreateFromJpeg* and gdImageCreateFromJpeg*Ex
authorRemi Collet <remi@php.net>
Wed, 24 Apr 2013 14:07:50 +0000 (16:07 +0200)
committerRemi Collet <remi@php.net>
Wed, 24 Apr 2013 14:07:50 +0000 (16:07 +0200)
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.

ext/gd/gd.c
ext/gd/libgd/gd.h
ext/gd/libgd/gd_jpeg.c

index 1888973debfaf78268ff02757c6bd25cfbf33222..b9ed1cd860ffa913a79a86b21c2f9bd4871a7e5c 100644 (file)
@@ -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
index 0bd8ad336d8cb7828cb485ca540e1f5522bc71d6..e640b969d8b053a6b0b479e25673477a30c72fc4 100644 (file)
@@ -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);
index 175c5b85fd783bc0748afaaa63be632e256bf9c2..a882b28c88383bd9a5ca46fc7ee7e222b203153d 100644 (file)
@@ -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;