cvs: gd /libgd/src gd_bmp.c gd_gd.c gd_gd2.c gd_gif_out.c gd_jpeg.c gd_png.c gd_tga.c gd_tiff.c gd_wbmp.c /libgd/tests/bmp CMakeLists.txt Makefile.am
bmp_im2im.c /libgd/tests/gd CMakeLists.txt Makefile.am gd_im2im.c /libgd/tests/gd2 CMakeLists.txt Makefile.am gd2_im2im.c /libgd/tests/gdtest
gdtest.c /libgd/tests/gif CMakeLists.txt Makefile.am gif_im2im.c /libgd/tests/jpeg CMakeLists.txt Makefile.am jpeg_im2im.c /libgd/tests/png
CMakeLists.txt Makefile.am png_im2im.c /libgd/tests/tiff CMakeLists.txt Makefile.am tiff_im2im.c /libgd/tests/wbmp CMakeLists.txt Makefile.am
wbmp_im2im.c
| From: | Takeshi Abe | Date: | Thu, 25 Jun 2009 19:05:46 +0000 |
| Subject: | cvs: gd /libgd/src gd_bmp.c gd_gd.c gd_gd2.c gd_gif_out.c gd_jpeg.c gd_png.c gd_tga.c gd_tiff.c gd_wbmp.c /libgd/tests/bmp CMakeLists.txt Makefile.am bmp_im2im.c /libgd/tests/gd CMakeLists.txt Makefile.am gd_im2im.c /libgd/tests/gd2 CMakeLists.txt Makefile.am gd2_im2im.c /libgd/tests/gdtest gdtest.c /libgd/tests/gif CMakeLists.txt Makefile.am gif_im2im.c /libgd/tests/jpeg CMakeLists.txt Makefile.am jpeg_im2im.c /libgd/tests/png CMakeLists.txt Makefile.am png_im2im.c /libgd/tests/tiff CMakeLists.txt Makefile.am tiff_im2im.c /libgd/tests/wbmp CMakeLists.txt Makefile.am wbmp_im2im.c |
||
| Groups: | php.gd.cvs | ||
| Request: | Send a blank email to php-gd-cvs+get-620@lists.php.net to get a copy of this message | ||
tabe Thu Jun 25 19:05:46 2009 UTC
Added files:
/gd/libgd/tests/bmp bmp_im2im.c
/gd/libgd/tests/gd gd_im2im.c
/gd/libgd/tests/gd2 gd2_im2im.c
/gd/libgd/tests/gif gif_im2im.c
/gd/libgd/tests/jpeg jpeg_im2im.c
/gd/libgd/tests/png png_im2im.c
/gd/libgd/tests/tiff tiff_im2im.c
/gd/libgd/tests/wbmp wbmp_im2im.c
Modified files:
/gd/libgd/src gd_bmp.c gd_gd.c gd_gd2.c gd_gif_out.c gd_jpeg.c
gd_png.c gd_tga.c gd_tiff.c gd_wbmp.c
/gd/libgd/tests/bmp CMakeLists.txt Makefile.am
/gd/libgd/tests/gd CMakeLists.txt Makefile.am
/gd/libgd/tests/gd2 CMakeLists.txt Makefile.am
/gd/libgd/tests/gdtest gdtest.c
/gd/libgd/tests/gif CMakeLists.txt Makefile.am
/gd/libgd/tests/jpeg CMakeLists.txt Makefile.am
/gd/libgd/tests/png CMakeLists.txt Makefile.am
/gd/libgd/tests/tiff CMakeLists.txt Makefile.am
/gd/libgd/tests/wbmp CMakeLists.txt Makefile.am
Log:
fixed possible segfaults when gdNewDynamicCtx() returns null
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_bmp.c?r1=1.2&r2=1.3&diff_format=u Index: gd/libgd/src/gd_bmp.c diff -u gd/libgd/src/gd_bmp.c:1.2 gd/libgd/src/gd_bmp.c:1.3 --- gd/libgd/src/gd_bmp.c:1.2 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_bmp.c Thu Jun 25 19:05:45 2009 @@ -12,7 +12,7 @@ ---------------------------------------------------------------------------- */ -/* $Id: gd_bmp.c,v 1.2 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_bmp.c,v 1.3 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -64,6 +64,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageBmpCtx(im, out, compression); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -413,6 +414,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx(size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromBmpCtx(in); in->gd_free(in); return im; http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gd.c?r1=1.15&r2=1.16&diff_format=u Index: gd/libgd/src/gd_gd.c diff -u gd/libgd/src/gd_gd.c:1.15 gd/libgd/src/gd_gd.c:1.16 --- gd/libgd/src/gd_gd.c:1.15 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gd.c Thu Jun 25 19:05:45 2009 @@ -326,6 +326,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; _gdImageGd (im, out); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gd2.c?r1=1.24&r2=1.25&diff_format=u Index: gd/libgd/src/gd_gd2.c diff -u gd/libgd/src/gd_gd2.c:1.24 gd/libgd/src/gd_gd2.c:1.25 --- gd/libgd/src/gd_gd2.c:1.24 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gd2.c Thu Jun 25 19:05:45 2009 @@ -1056,6 +1056,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; _gdImageGd2 (im, out, cs, fmt); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gif_out.c?r1=1.10&r2=1.11&diff_format=u Index: gd/libgd/src/gd_gif_out.c diff -u gd/libgd/src/gd_gif_out.c:1.10 gd/libgd/src/gd_gif_out.c:1.11 --- gd/libgd/src/gd_gif_out.c:1.10 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gif_out.c Thu Jun 25 19:05:45 2009 @@ -93,6 +93,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifCtx(im, out); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -142,6 +143,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifAnimBeginCtx(im, out, GlobalCM, Loops); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -224,6 +226,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal, previm); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_jpeg.c?r1=1.26&r2=1.27&diff_format=u Index: gd/libgd/src/gd_jpeg.c diff -u gd/libgd/src/gd_jpeg.c:1.26 gd/libgd/src/gd_jpeg.c:1.27 --- gd/libgd/src/gd_jpeg.c:1.26 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_jpeg.c Thu Jun 25 19:05:45 2009 @@ -104,6 +104,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageJpegCtx(im, out, quality); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_png.c?r1=1.33&r2=1.34&diff_format=u Index: gd/libgd/src/gd_png.c diff -u gd/libgd/src/gd_png.c:1.33 gd/libgd/src/gd_png.c:1.34 --- gd/libgd/src/gd_png.c:1.33 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_png.c Thu Jun 25 19:05:45 2009 @@ -1,4 +1,4 @@ -/* $Id: gd_png.c,v 1.33 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_png.c,v 1.34 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -485,6 +485,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImagePngCtxEx (im, out, -1); rv = gdDPExtractData (out, size); out->gd_free (out); @@ -495,6 +496,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImagePngCtxEx (im, out, level); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_tga.c?r1=1.13&r2=1.14&diff_format=u Index: gd/libgd/src/gd_tga.c diff -u gd/libgd/src/gd_tga.c:1.13 gd/libgd/src/gd_tga.c:1.14 --- gd/libgd/src/gd_tga.c:1.13 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_tga.c Thu Jun 25 19:05:45 2009 @@ -26,6 +26,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromTgaCtx(in); in->gd_free(in); return im; http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_tiff.c?r1=1.22&r2=1.23&diff_format=u Index: gd/libgd/src/gd_tiff.c diff -u gd/libgd/src/gd_tiff.c:1.22 gd/libgd/src/gd_tiff.c:1.23 --- gd/libgd/src/gd_tiff.c:1.22 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_tiff.c Thu Jun 25 19:05:45 2009 @@ -27,7 +27,7 @@ ---------------------------------------------------------------------------- */ -/* $Id: gd_tiff.c,v 1.22 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_tiff.c,v 1.23 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -991,6 +991,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromTiffCtx(in); in->gd_free(in); return im; @@ -1014,6 +1015,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImageTiffCtx(im, out); /* what's an fg again? */ rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_wbmp.c?r1=1.14&r2=1.15&diff_format=u Index: gd/libgd/src/gd_wbmp.c diff -u gd/libgd/src/gd_wbmp.c:1.14 gd/libgd/src/gd_wbmp.c:1.15 --- gd/libgd/src/gd_wbmp.c:1.14 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_wbmp.c Thu Jun 25 19:05:45 2009 @@ -204,6 +204,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageWBMPCtx(im, fg, out); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/bmp/CMakeLists.txt diff -u gd/libgd/tests/bmp/CMakeLists.txt:1.1 gd/libgd/tests/bmp/CMakeLists.txt:1.2 --- gd/libgd/tests/bmp/CMakeLists.txt:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/bmp/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + bmp_im2im bmp_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/bmp/Makefile.am diff -u gd/libgd/tests/bmp/Makefile.am:1.1 gd/libgd/tests/bmp/Makefile.am:1.2 --- gd/libgd/tests/bmp/Makefile.am:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/bmp/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt bmp_null.c +EXTRA_DIST = CMakeLists.txt bmp_im2im.c bmp_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gd/CMakeLists.txt diff -u gd/libgd/tests/gd/CMakeLists.txt:1.1 gd/libgd/tests/gd/CMakeLists.txt:1.2 --- gd/libgd/tests/gd/CMakeLists.txt:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + gd_im2im gd_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gd/Makefile.am diff -u gd/libgd/tests/gd/Makefile.am:1.1 gd/libgd/tests/gd/Makefile.am:1.2 --- gd/libgd/tests/gd/Makefile.am:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt gd_null.c +EXTRA_DIST = CMakeLists.txt gd_im2im.c gd_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/CMakeLists.txt?r1=1.6&r2=1.7&diff_format=u Index: gd/libgd/tests/gd2/CMakeLists.txt diff -u gd/libgd/tests/gd2/CMakeLists.txt:1.6 gd/libgd/tests/gd2/CMakeLists.txt:1.7 --- gd/libgd/tests/gd2/CMakeLists.txt:1.6 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd2/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -2,6 +2,7 @@ SET(TESTS_FILES gd2_read gd2_empty_file + gd2_im2im gd2_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/gd2/Makefile.am diff -u gd/libgd/tests/gd2/Makefile.am:1.3 gd/libgd/tests/gd2/Makefile.am:1.4 --- gd/libgd/tests/gd2/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd2/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,4 +1,4 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt conv_gd2_exp.gd2 conv_test_exp.png conv_test.gd2 empty.gd2 gd2_empty_file.c gd2_null.c gd2_read.c +EXTRA_DIST = CMakeLists.txt conv_gd2_exp.gd2 conv_test_exp.png conv_test.gd2 empty.gd2 gd2_empty_file.c gd2_im2im.c gd2_null.c gd2_read.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gdtest/gdtest.c?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gdtest/gdtest.c diff -u gd/libgd/tests/gdtest/gdtest.c:1.1 gd/libgd/tests/gdtest/gdtest.c:1.2 --- gd/libgd/tests/gdtest/gdtest.c:1.1 Tue Oct 2 09:01:53 2007 +++ gd/libgd/tests/gdtest/gdtest.c Thu Jun 25 19:05:45 2009 @@ -37,8 +37,6 @@ gdImagePtr buf_diff, CuTestImageResult *result_ret) { int x, y; - CuTestImageResult result = {0, 0}; - int c1, c2; for (y = 0; y < gdImageSY(buf_a); y++) { @@ -96,15 +94,13 @@ diff_b = 255; } - result.pixels_changed++; - gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(diff_r, diff_g, diff_b, diff_a)); + result_ret->pixels_changed++; + if (buf_diff) gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(diff_r, diff_g, diff_b, diff_a)); } else { - gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(255,255,255,0)); + if (buf_diff) gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(255,255,255,0)); } } } - - *result_ret = result; } int gdTestImageCompareToImage(const char* file, int line, const char* message, @@ -114,7 +110,7 @@ unsigned int width_a, height_a; unsigned int width_b, height_b; gdImagePtr surface_diff = NULL; - CuTestImageResult result; + CuTestImageResult result = {0, 0}; if (!actual) { fprintf(stderr, "Image is NULL\n"); http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/CMakeLists.txt?r1=1.7&r2=1.8&diff_format=u Index: gd/libgd/tests/gif/CMakeLists.txt diff -u gd/libgd/tests/gif/CMakeLists.txt:1.7 gd/libgd/tests/gif/CMakeLists.txt:1.8 --- gd/libgd/tests/gif/CMakeLists.txt:1.7 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gif/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + gif_im2im gif_null bug00005 bug00005_2 http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/gif/Makefile.am diff -u gd/libgd/tests/gif/Makefile.am:1.3 gd/libgd/tests/gif/Makefile.am:1.4 --- gd/libgd/tests/gif/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gif/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt gif_null.c bug00005_0.gif bug00005_2.c bug00005_2.gif bug00005.c bug00060.c bug00066.c bug00066.gif bug00005_1.gif bug00005_2_exp.png bug00005_3.gif bug00006.c bug00060.gif bug00066_exp.png bug00181.c +EXTRA_DIST = CMakeLists.txt gif_im2im.c gif_null.c bug00005_0.gif bug00005_2.c bug00005_2.gif bug00005.c bug00060.c bug00066.c bug00066.gif bug00005_1.gif bug00005_2_exp.png bug00005_3.gif bug00006.c bug00060.gif bug00066_exp.png bug00181.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/CMakeLists.txt?r1=1.7&r2=1.8&diff_format=u Index: gd/libgd/tests/jpeg/CMakeLists.txt diff -u gd/libgd/tests/jpeg/CMakeLists.txt:1.7 gd/libgd/tests/jpeg/CMakeLists.txt:1.8 --- gd/libgd/tests/jpeg/CMakeLists.txt:1.7 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/jpeg/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + jpeg_im2im jpeg_null jpeg_read jpeg_empty_file http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/jpeg/Makefile.am diff -u gd/libgd/tests/jpeg/Makefile.am:1.3 gd/libgd/tests/jpeg/Makefile.am:1.4 --- gd/libgd/tests/jpeg/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/jpeg/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt jpeg_null.c conv_test_exp.png conv_test.jpeg empty.jpeg jpeg_empty_file.c jpeg_read.c jpeg_resolution.c +EXTRA_DIST = CMakeLists.txt jpeg_im2im.c jpeg_null.c conv_test_exp.png conv_test.jpeg empty.jpeg jpeg_empty_file.c jpeg_read.c jpeg_resolution.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/CMakeLists.txt?r1=1.9&r2=1.10&diff_format=u Index: gd/libgd/tests/png/CMakeLists.txt diff -u gd/libgd/tests/png/CMakeLists.txt:1.9 gd/libgd/tests/png/CMakeLists.txt:1.10 --- gd/libgd/tests/png/CMakeLists.txt:1.9 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/png/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + png_im2im png_null png_resolution bug00011 http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/Makefile.am?r1=1.4&r2=1.5&diff_format=u Index: gd/libgd/tests/png/Makefile.am diff -u gd/libgd/tests/png/Makefile.am:1.4 gd/libgd/tests/png/Makefile.am:1.5 --- gd/libgd/tests/png/Makefile.am:1.4 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/png/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt bug00011.c bug00033.png bug00088_1_exp.png bug00088_2_exp.png bug00088.c bug00033.c bug00086.c bug00088_1.png bug00088_2.png bug00193.c emptyfile png_null.c png_resolution.c +EXTRA_DIST = CMakeLists.txt bug00011.c bug00033.png bug00088_1_exp.png bug00088_2_exp.png bug00088.c bug00033.c bug00086.c bug00088_1.png bug00088_2.png bug00193.c emptyfile png_im2im.c png_null.c png_resolution.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/tiff/CMakeLists.txt diff -u gd/libgd/tests/tiff/CMakeLists.txt:1.1 gd/libgd/tests/tiff/CMakeLists.txt:1.2 --- gd/libgd/tests/tiff/CMakeLists.txt:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/tiff/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + tiff_im2im tiff_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/tiff/Makefile.am diff -u gd/libgd/tests/tiff/Makefile.am:1.1 gd/libgd/tests/tiff/Makefile.am:1.2 --- gd/libgd/tests/tiff/Makefile.am:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/tiff/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt tiff_null.c +EXTRA_DIST = CMakeLists.txt tiff_im2im.c tiff_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/wbmp/CMakeLists.txt diff -u gd/libgd/tests/wbmp/CMakeLists.txt:1.1 gd/libgd/tests/wbmp/CMakeLists.txt:1.2 --- gd/libgd/tests/wbmp/CMakeLists.txt:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/wbmp/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + wbmp_im2im wbmp_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/wbmp/Makefile.am diff -u gd/libgd/tests/wbmp/Makefile.am:1.1 gd/libgd/tests/wbmp/Makefile.am:1.2 --- gd/libgd/tests/wbmp/Makefile.am:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/wbmp/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt wbmp_null.c +EXTRA_DIST = CMakeLists.txt wbmp_im2im.c wbmp_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/bmp_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/bmp/bmp_im2im.c +++ gd/libgd/tests/bmp/bmp_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_BMP(name) do { \ FILE *fp; \ \ fp = fopen("bmp_im2im_" #name ".bmp", "wb"); \ if (fp) { \ gdImageBmp(name, fp, 1); \ fclose(fp); \ } \ } while (0) OUTPUT_BMP(src); p = gdImageBmpPtr(src, &size, 1); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromBmpPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_BMP(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/gd_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gd/gd_im2im.c +++ gd/libgd/tests/gd/gd_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GD(x) do { \ FILE *fp; \ \ fp = fopen("gd_im2im_" #x ".gd", "wb"); \ if (fp) { \ gdImageGd(x, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_GD(src); p = gdImageGdPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGdPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GD(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/gd2_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gd2/gd2_im2im.c +++ gd/libgd/tests/gd2/gd2_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GD2(x) do { \ FILE *fp; \ \ fp = fopen("gd2_im2im_" #x ".gd2", "wb"); \ if (fp) { \ gdImageGd2(x, fp, (GD2_CHUNKSIZE_MIN+GD2_CHUNKSIZE_MAX)/2, GD2_FMT_COMPRESSED); \ fclose(fp); \ } \ } while (0) OUTPUT_GD2(src); p = gdImageGd2Ptr(src, (GD2_CHUNKSIZE_MIN+GD2_CHUNKSIZE_MAX)/2, GD2_FMT_COMPRESSED, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGd2Ptr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GD2(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/gif_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gif/gif_im2im.c +++ gd/libgd/tests/gif/gif_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GIF(name) do { \ FILE *fp; \ \ fp = fopen("gif_im2im_" #name ".gif", "wb"); \ if (fp) { \ gdImageGif(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_GIF(src); p = gdImageGifPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGifPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GIF(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/jpeg_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/jpeg/jpeg_im2im.c +++ gd/libgd/tests/jpeg/jpeg_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; #if 0 CuTestImageResult result = {0, 0}; #endif src = gdImageCreateTrueColor(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_JPEG(name) do { \ FILE *fp; \ \ fp = fopen("jpeg_im2im_" #name ".jpeg", "wb"); \ if (fp) { \ gdImageJpeg(name, fp, 100); \ fclose(fp); \ } \ } while (0) OUTPUT_JPEG(src); p = gdImageJpegPtr(src, &size, 100); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromJpegPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_JPEG(dst); #if 0 gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } #endif gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/png_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/png/png_im2im.c +++ gd/libgd/tests/png/png_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_PNG(name) do { \ FILE *fp; \ \ fp = fopen("png_im2im_" #name ".png", "wb"); \ if (fp) { \ gdImagePng(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_PNG(src); p = gdImagePngPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromPngPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_PNG(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/tiff_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/tiff/tiff_im2im.c +++ gd/libgd/tests/tiff/tiff_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; #if 0 CuTestImageResult result = {0, 0}; #endif src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_TIFF(name) do { \ FILE *fp; \ \ fp = fopen("tiff_im2im_" #name ".tiff", "wb"); \ if (fp) { \ gdImageTiff(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_TIFF(src); p = gdImageTiffPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromTiffPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_TIFF(dst); #if 0 gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } #endif gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/wbmp_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/wbmp/wbmp_im2im.c +++ gd/libgd/tests/wbmp/wbmp_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int w, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } w = gdImageColorAllocate(src, 0xFF, 0xFF, 0xFF); b = gdImageColorAllocate(src, 0, 0, 0); gdImageRectangle(src, 20, 20, 79, 79, b); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_WBMP(name) do { \ FILE *fp; \ \ fp = fopen("wbmp_im2im_" #name ".wbmp", "wb"); \ if (fp) { \ gdImageWBMP(name, 1, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_WBMP(src); p = gdImageWBMPPtr(src, &size, 1); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromWBMPPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_WBMP(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; }
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_bmp.c?r1=1.2&r2=1.3&diff_format=u Index: gd/libgd/src/gd_bmp.c diff -u gd/libgd/src/gd_bmp.c:1.2 gd/libgd/src/gd_bmp.c:1.3 --- gd/libgd/src/gd_bmp.c:1.2 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_bmp.c Thu Jun 25 19:05:45 2009 @@ -12,7 +12,7 @@ ---------------------------------------------------------------------------- */ -/* $Id: gd_bmp.c,v 1.2 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_bmp.c,v 1.3 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -64,6 +64,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageBmpCtx(im, out, compression); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -413,6 +414,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx(size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromBmpCtx(in); in->gd_free(in); return im; http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gd.c?r1=1.15&r2=1.16&diff_format=u Index: gd/libgd/src/gd_gd.c diff -u gd/libgd/src/gd_gd.c:1.15 gd/libgd/src/gd_gd.c:1.16 --- gd/libgd/src/gd_gd.c:1.15 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gd.c Thu Jun 25 19:05:45 2009 @@ -326,6 +326,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; _gdImageGd (im, out); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gd2.c?r1=1.24&r2=1.25&diff_format=u Index: gd/libgd/src/gd_gd2.c diff -u gd/libgd/src/gd_gd2.c:1.24 gd/libgd/src/gd_gd2.c:1.25 --- gd/libgd/src/gd_gd2.c:1.24 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gd2.c Thu Jun 25 19:05:45 2009 @@ -1056,6 +1056,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; _gdImageGd2 (im, out, cs, fmt); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_gif_out.c?r1=1.10&r2=1.11&diff_format=u Index: gd/libgd/src/gd_gif_out.c diff -u gd/libgd/src/gd_gif_out.c:1.10 gd/libgd/src/gd_gif_out.c:1.11 --- gd/libgd/src/gd_gif_out.c:1.10 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_gif_out.c Thu Jun 25 19:05:45 2009 @@ -93,6 +93,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifCtx(im, out); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -142,6 +143,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifAnimBeginCtx(im, out, GlobalCM, Loops); rv = gdDPExtractData(out, size); out->gd_free(out); @@ -224,6 +226,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal, previm); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_jpeg.c?r1=1.26&r2=1.27&diff_format=u Index: gd/libgd/src/gd_jpeg.c diff -u gd/libgd/src/gd_jpeg.c:1.26 gd/libgd/src/gd_jpeg.c:1.27 --- gd/libgd/src/gd_jpeg.c:1.26 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_jpeg.c Thu Jun 25 19:05:45 2009 @@ -104,6 +104,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageJpegCtx(im, out, quality); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_png.c?r1=1.33&r2=1.34&diff_format=u Index: gd/libgd/src/gd_png.c diff -u gd/libgd/src/gd_png.c:1.33 gd/libgd/src/gd_png.c:1.34 --- gd/libgd/src/gd_png.c:1.33 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_png.c Thu Jun 25 19:05:45 2009 @@ -1,4 +1,4 @@ -/* $Id: gd_png.c,v 1.33 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_png.c,v 1.34 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -485,6 +485,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImagePngCtxEx (im, out, -1); rv = gdDPExtractData (out, size); out->gd_free (out); @@ -495,6 +496,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImagePngCtxEx (im, out, level); rv = gdDPExtractData (out, size); out->gd_free (out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_tga.c?r1=1.13&r2=1.14&diff_format=u Index: gd/libgd/src/gd_tga.c diff -u gd/libgd/src/gd_tga.c:1.13 gd/libgd/src/gd_tga.c:1.14 --- gd/libgd/src/gd_tga.c:1.13 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_tga.c Thu Jun 25 19:05:45 2009 @@ -26,6 +26,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromTgaCtx(in); in->gd_free(in); return im; http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_tiff.c?r1=1.22&r2=1.23&diff_format=u Index: gd/libgd/src/gd_tiff.c diff -u gd/libgd/src/gd_tiff.c:1.22 gd/libgd/src/gd_tiff.c:1.23 --- gd/libgd/src/gd_tiff.c:1.22 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_tiff.c Thu Jun 25 19:05:45 2009 @@ -27,7 +27,7 @@ ---------------------------------------------------------------------------- */ -/* $Id: gd_tiff.c,v 1.22 2009/06/18 13:35:25 tabe Exp $ */ +/* $Id: gd_tiff.c,v 1.23 2009/06/25 19:05:45 tabe Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -991,6 +991,7 @@ { gdImagePtr im; gdIOCtx *in = gdNewDynamicCtxEx (size, data, 0); + if (in == NULL) return NULL; im = gdImageCreateFromTiffCtx(in); in->gd_free(in); return im; @@ -1014,6 +1015,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx (2048, NULL); + if (out == NULL) return NULL; gdImageTiffCtx(im, out); /* what's an fg again? */ rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_wbmp.c?r1=1.14&r2=1.15&diff_format=u Index: gd/libgd/src/gd_wbmp.c diff -u gd/libgd/src/gd_wbmp.c:1.14 gd/libgd/src/gd_wbmp.c:1.15 --- gd/libgd/src/gd_wbmp.c:1.14 Thu Jun 18 13:35:25 2009 +++ gd/libgd/src/gd_wbmp.c Thu Jun 25 19:05:45 2009 @@ -204,6 +204,7 @@ { void *rv; gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; gdImageWBMPCtx(im, fg, out); rv = gdDPExtractData(out, size); out->gd_free(out); http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/bmp/CMakeLists.txt diff -u gd/libgd/tests/bmp/CMakeLists.txt:1.1 gd/libgd/tests/bmp/CMakeLists.txt:1.2 --- gd/libgd/tests/bmp/CMakeLists.txt:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/bmp/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + bmp_im2im bmp_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/bmp/Makefile.am diff -u gd/libgd/tests/bmp/Makefile.am:1.1 gd/libgd/tests/bmp/Makefile.am:1.2 --- gd/libgd/tests/bmp/Makefile.am:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/bmp/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt bmp_null.c +EXTRA_DIST = CMakeLists.txt bmp_im2im.c bmp_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gd/CMakeLists.txt diff -u gd/libgd/tests/gd/CMakeLists.txt:1.1 gd/libgd/tests/gd/CMakeLists.txt:1.2 --- gd/libgd/tests/gd/CMakeLists.txt:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + gd_im2im gd_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gd/Makefile.am diff -u gd/libgd/tests/gd/Makefile.am:1.1 gd/libgd/tests/gd/Makefile.am:1.2 --- gd/libgd/tests/gd/Makefile.am:1.1 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt gd_null.c +EXTRA_DIST = CMakeLists.txt gd_im2im.c gd_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/CMakeLists.txt?r1=1.6&r2=1.7&diff_format=u Index: gd/libgd/tests/gd2/CMakeLists.txt diff -u gd/libgd/tests/gd2/CMakeLists.txt:1.6 gd/libgd/tests/gd2/CMakeLists.txt:1.7 --- gd/libgd/tests/gd2/CMakeLists.txt:1.6 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd2/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -2,6 +2,7 @@ SET(TESTS_FILES gd2_read gd2_empty_file + gd2_im2im gd2_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/gd2/Makefile.am diff -u gd/libgd/tests/gd2/Makefile.am:1.3 gd/libgd/tests/gd2/Makefile.am:1.4 --- gd/libgd/tests/gd2/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gd2/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,4 +1,4 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt conv_gd2_exp.gd2 conv_test_exp.png conv_test.gd2 empty.gd2 gd2_empty_file.c gd2_null.c gd2_read.c +EXTRA_DIST = CMakeLists.txt conv_gd2_exp.gd2 conv_test_exp.png conv_test.gd2 empty.gd2 gd2_empty_file.c gd2_im2im.c gd2_null.c gd2_read.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gdtest/gdtest.c?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/gdtest/gdtest.c diff -u gd/libgd/tests/gdtest/gdtest.c:1.1 gd/libgd/tests/gdtest/gdtest.c:1.2 --- gd/libgd/tests/gdtest/gdtest.c:1.1 Tue Oct 2 09:01:53 2007 +++ gd/libgd/tests/gdtest/gdtest.c Thu Jun 25 19:05:45 2009 @@ -37,8 +37,6 @@ gdImagePtr buf_diff, CuTestImageResult *result_ret) { int x, y; - CuTestImageResult result = {0, 0}; - int c1, c2; for (y = 0; y < gdImageSY(buf_a); y++) { @@ -96,15 +94,13 @@ diff_b = 255; } - result.pixels_changed++; - gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(diff_r, diff_g, diff_b, diff_a)); + result_ret->pixels_changed++; + if (buf_diff) gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(diff_r, diff_g, diff_b, diff_a)); } else { - gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(255,255,255,0)); + if (buf_diff) gdImageSetPixel(buf_diff, x,y, gdTrueColorAlpha(255,255,255,0)); } } } - - *result_ret = result; } int gdTestImageCompareToImage(const char* file, int line, const char* message, @@ -114,7 +110,7 @@ unsigned int width_a, height_a; unsigned int width_b, height_b; gdImagePtr surface_diff = NULL; - CuTestImageResult result; + CuTestImageResult result = {0, 0}; if (!actual) { fprintf(stderr, "Image is NULL\n"); http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/CMakeLists.txt?r1=1.7&r2=1.8&diff_format=u Index: gd/libgd/tests/gif/CMakeLists.txt diff -u gd/libgd/tests/gif/CMakeLists.txt:1.7 gd/libgd/tests/gif/CMakeLists.txt:1.8 --- gd/libgd/tests/gif/CMakeLists.txt:1.7 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gif/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + gif_im2im gif_null bug00005 bug00005_2 http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/gif/Makefile.am diff -u gd/libgd/tests/gif/Makefile.am:1.3 gd/libgd/tests/gif/Makefile.am:1.4 --- gd/libgd/tests/gif/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/gif/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt gif_null.c bug00005_0.gif bug00005_2.c bug00005_2.gif bug00005.c bug00060.c bug00066.c bug00066.gif bug00005_1.gif bug00005_2_exp.png bug00005_3.gif bug00006.c bug00060.gif bug00066_exp.png bug00181.c +EXTRA_DIST = CMakeLists.txt gif_im2im.c gif_null.c bug00005_0.gif bug00005_2.c bug00005_2.gif bug00005.c bug00060.c bug00066.c bug00066.gif bug00005_1.gif bug00005_2_exp.png bug00005_3.gif bug00006.c bug00060.gif bug00066_exp.png bug00181.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/CMakeLists.txt?r1=1.7&r2=1.8&diff_format=u Index: gd/libgd/tests/jpeg/CMakeLists.txt diff -u gd/libgd/tests/jpeg/CMakeLists.txt:1.7 gd/libgd/tests/jpeg/CMakeLists.txt:1.8 --- gd/libgd/tests/jpeg/CMakeLists.txt:1.7 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/jpeg/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + jpeg_im2im jpeg_null jpeg_read jpeg_empty_file http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/Makefile.am?r1=1.3&r2=1.4&diff_format=u Index: gd/libgd/tests/jpeg/Makefile.am diff -u gd/libgd/tests/jpeg/Makefile.am:1.3 gd/libgd/tests/jpeg/Makefile.am:1.4 --- gd/libgd/tests/jpeg/Makefile.am:1.3 Thu Jun 18 13:35:25 2009 +++ gd/libgd/tests/jpeg/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt jpeg_null.c conv_test_exp.png conv_test.jpeg empty.jpeg jpeg_empty_file.c jpeg_read.c jpeg_resolution.c +EXTRA_DIST = CMakeLists.txt jpeg_im2im.c jpeg_null.c conv_test_exp.png conv_test.jpeg empty.jpeg jpeg_empty_file.c jpeg_read.c jpeg_resolution.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/CMakeLists.txt?r1=1.9&r2=1.10&diff_format=u Index: gd/libgd/tests/png/CMakeLists.txt diff -u gd/libgd/tests/png/CMakeLists.txt:1.9 gd/libgd/tests/png/CMakeLists.txt:1.10 --- gd/libgd/tests/png/CMakeLists.txt:1.9 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/png/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + png_im2im png_null png_resolution bug00011 http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/Makefile.am?r1=1.4&r2=1.5&diff_format=u Index: gd/libgd/tests/png/Makefile.am diff -u gd/libgd/tests/png/Makefile.am:1.4 gd/libgd/tests/png/Makefile.am:1.5 --- gd/libgd/tests/png/Makefile.am:1.4 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/png/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt bug00011.c bug00033.png bug00088_1_exp.png bug00088_2_exp.png bug00088.c bug00033.c bug00086.c bug00088_1.png bug00088_2.png bug00193.c emptyfile png_null.c png_resolution.c +EXTRA_DIST = CMakeLists.txt bug00011.c bug00033.png bug00088_1_exp.png bug00088_2_exp.png bug00088.c bug00033.c bug00086.c bug00088_1.png bug00088_2.png bug00193.c emptyfile png_im2im.c png_null.c png_resolution.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/tiff/CMakeLists.txt diff -u gd/libgd/tests/tiff/CMakeLists.txt:1.1 gd/libgd/tests/tiff/CMakeLists.txt:1.2 --- gd/libgd/tests/tiff/CMakeLists.txt:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/tiff/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + tiff_im2im tiff_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/tiff/Makefile.am diff -u gd/libgd/tests/tiff/Makefile.am:1.1 gd/libgd/tests/tiff/Makefile.am:1.2 --- gd/libgd/tests/tiff/Makefile.am:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/tiff/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt tiff_null.c +EXTRA_DIST = CMakeLists.txt tiff_im2im.c tiff_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/CMakeLists.txt?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/wbmp/CMakeLists.txt diff -u gd/libgd/tests/wbmp/CMakeLists.txt:1.1 gd/libgd/tests/wbmp/CMakeLists.txt:1.2 --- gd/libgd/tests/wbmp/CMakeLists.txt:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/wbmp/CMakeLists.txt Thu Jun 25 19:05:45 2009 @@ -1,5 +1,6 @@ SET(TESTS_FILES + wbmp_im2im wbmp_null ) http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/Makefile.am?r1=1.1&r2=1.2&diff_format=u Index: gd/libgd/tests/wbmp/Makefile.am diff -u gd/libgd/tests/wbmp/Makefile.am:1.1 gd/libgd/tests/wbmp/Makefile.am:1.2 --- gd/libgd/tests/wbmp/Makefile.am:1.1 Thu Jun 18 13:35:26 2009 +++ gd/libgd/tests/wbmp/Makefile.am Thu Jun 25 19:05:45 2009 @@ -1,3 +1,3 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- -EXTRA_DIST = CMakeLists.txt wbmp_null.c +EXTRA_DIST = CMakeLists.txt wbmp_im2im.c wbmp_null.c http://cvs.php.net/viewvc.cgi/gd/libgd/tests/bmp/bmp_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/bmp/bmp_im2im.c +++ gd/libgd/tests/bmp/bmp_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_BMP(name) do { \ FILE *fp; \ \ fp = fopen("bmp_im2im_" #name ".bmp", "wb"); \ if (fp) { \ gdImageBmp(name, fp, 1); \ fclose(fp); \ } \ } while (0) OUTPUT_BMP(src); p = gdImageBmpPtr(src, &size, 1); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromBmpPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_BMP(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd/gd_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gd/gd_im2im.c +++ gd/libgd/tests/gd/gd_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GD(x) do { \ FILE *fp; \ \ fp = fopen("gd_im2im_" #x ".gd", "wb"); \ if (fp) { \ gdImageGd(x, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_GD(src); p = gdImageGdPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGdPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GD(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gd2/gd2_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gd2/gd2_im2im.c +++ gd/libgd/tests/gd2/gd2_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GD2(x) do { \ FILE *fp; \ \ fp = fopen("gd2_im2im_" #x ".gd2", "wb"); \ if (fp) { \ gdImageGd2(x, fp, (GD2_CHUNKSIZE_MIN+GD2_CHUNKSIZE_MAX)/2, GD2_FMT_COMPRESSED); \ fclose(fp); \ } \ } while (0) OUTPUT_GD2(src); p = gdImageGd2Ptr(src, (GD2_CHUNKSIZE_MIN+GD2_CHUNKSIZE_MAX)/2, GD2_FMT_COMPRESSED, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGd2Ptr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GD2(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/gif/gif_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/gif/gif_im2im.c +++ gd/libgd/tests/gif/gif_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_GIF(name) do { \ FILE *fp; \ \ fp = fopen("gif_im2im_" #name ".gif", "wb"); \ if (fp) { \ gdImageGif(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_GIF(src); p = gdImageGifPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromGifPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_GIF(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/jpeg/jpeg_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/jpeg/jpeg_im2im.c +++ gd/libgd/tests/jpeg/jpeg_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; #if 0 CuTestImageResult result = {0, 0}; #endif src = gdImageCreateTrueColor(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_JPEG(name) do { \ FILE *fp; \ \ fp = fopen("jpeg_im2im_" #name ".jpeg", "wb"); \ if (fp) { \ gdImageJpeg(name, fp, 100); \ fclose(fp); \ } \ } while (0) OUTPUT_JPEG(src); p = gdImageJpegPtr(src, &size, 100); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromJpegPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_JPEG(dst); #if 0 gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } #endif gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/png/png_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/png/png_im2im.c +++ gd/libgd/tests/png/png_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_PNG(name) do { \ FILE *fp; \ \ fp = fopen("png_im2im_" #name ".png", "wb"); \ if (fp) { \ gdImagePng(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_PNG(src); p = gdImagePngPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromPngPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_PNG(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/tiff/tiff_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/tiff/tiff_im2im.c +++ gd/libgd/tests/tiff/tiff_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int r, g, b; void *p; int size = 0; int status = 0; #if 0 CuTestImageResult result = {0, 0}; #endif src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } r = gdImageColorAllocate(src, 0xFF, 0, 0); g = gdImageColorAllocate(src, 0, 0xFF, 0); b = gdImageColorAllocate(src, 0, 0, 0xFF); gdImageFilledRectangle(src, 0, 0, 99, 99, r); gdImageRectangle(src, 20, 20, 79, 79, g); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_TIFF(name) do { \ FILE *fp; \ \ fp = fopen("tiff_im2im_" #name ".tiff", "wb"); \ if (fp) { \ gdImageTiff(name, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_TIFF(src); p = gdImageTiffPtr(src, &size); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromTiffPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_TIFF(dst); #if 0 gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } #endif gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; } http://cvs.php.net/viewvc.cgi/gd/libgd/tests/wbmp/wbmp_im2im.c?view=markup&rev=1.1 Index: gd/libgd/tests/wbmp/wbmp_im2im.c +++ gd/libgd/tests/wbmp/wbmp_im2im.c #include <gd.h> #include "gdtest.h" int main() { gdImagePtr src, dst; int w, b; void *p; int size = 0; int status = 0; CuTestImageResult result = {0, 0}; src = gdImageCreate(100, 100); if (src == NULL) { printf("could not create src\n"); return 1; } w = gdImageColorAllocate(src, 0xFF, 0xFF, 0xFF); b = gdImageColorAllocate(src, 0, 0, 0); gdImageRectangle(src, 20, 20, 79, 79, b); gdImageEllipse(src, 70, 25, 30, 20, b); #define OUTPUT_WBMP(name) do { \ FILE *fp; \ \ fp = fopen("wbmp_im2im_" #name ".wbmp", "wb"); \ if (fp) { \ gdImageWBMP(name, 1, fp); \ fclose(fp); \ } \ } while (0) OUTPUT_WBMP(src); p = gdImageWBMPPtr(src, &size, 1); if (p == NULL) { status = 1; printf("p is null\n"); goto door0; } if (size <= 0) { status = 1; printf("size is non-positive\n"); goto door1; } dst = gdImageCreateFromWBMPPtr(size, p); if (dst == NULL) { status = 1; printf("could not create dst\n"); goto door1; } OUTPUT_WBMP(dst); gdTestImageDiff(src, dst, NULL, &result); if (result.pixels_changed > 0) { status = 1; printf("pixels changed: %d\n", result.pixels_changed); } gdImageDestroy(dst); door1: gdFree(p); door0: gdImageDestroy(src); return status; }