mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
This patch allows compilation of gd against non-bundled gd library older
then 2.0.4.
This commit is contained in:
parent
6f8bfd148a
commit
7150658615
@ -231,6 +231,7 @@ AC_DEFUN(PHP_GD_CHECK_VERSION,[
|
||||
PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm, [AC_DEFINE(HAVE_GD_XPM, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdImageCreateFromGd2, [AC_DEFINE(HAVE_GD_GD2, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdImageCreateTrueColor, [AC_DEFINE(HAVE_LIBGD20, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdFreeFontCache, [AC_DEFINE(HAVE_LIBGD204, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdImageSetTile, [AC_DEFINE(HAVE_GD_IMAGESETTILE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdImageEllipse, [AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
PHP_CHECK_LIBRARY(gd, gdImageSetBrush, [AC_DEFINE(HAVE_GD_IMAGESETBRUSH, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
|
||||
@ -275,6 +276,7 @@ dnl These are always available with bundled library
|
||||
AC_DEFINE(HAVE_LIBGD13, 1, [ ])
|
||||
AC_DEFINE(HAVE_LIBGD15, 1, [ ])
|
||||
AC_DEFINE(HAVE_LIBGD20, 1, [ ])
|
||||
AC_DEFINE(HAVE_LIBGD204, 1, [ ])
|
||||
AC_DEFINE(HAVE_GD_IMAGESETTILE, 1, [ ])
|
||||
AC_DEFINE(HAVE_GD_IMAGESETBRUSH, 1, [ ])
|
||||
AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ])
|
||||
|
16
ext/gd/gd.c
16
ext/gd/gd.c
@ -1073,10 +1073,19 @@ static int _php_image_type (char data[8])
|
||||
io_ctx = gdNewDynamicCtx (8, data);
|
||||
if (io_ctx) {
|
||||
if (getmbi((int(*)(void*))gdGetC, io_ctx) == 0 && skipheader((int(*)(void*))gdGetC, io_ctx) == 0 ) {
|
||||
#if HAVE_LIBGD204
|
||||
io_ctx->gd_free(io_ctx);
|
||||
#else
|
||||
io_ctx->free(io_ctx);
|
||||
#endif
|
||||
return PHP_GDIMG_TYPE_WBM;
|
||||
} else
|
||||
} else {
|
||||
#if HAVE_LIBGD204
|
||||
io_ctx->gd_free(io_ctx);
|
||||
#else
|
||||
io_ctx->free(io_ctx);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1253,7 +1262,12 @@ static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type,
|
||||
} else {
|
||||
im = (*ioctx_func_p)(io_ctx);
|
||||
}
|
||||
#if HAVE_LIBGD204
|
||||
io_ctx->gd_free(io_ctx);
|
||||
#else
|
||||
io_ctx->free(io_ctx);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
|
@ -67,7 +67,11 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
|
||||
ctx = emalloc(sizeof(gdIOCtx));
|
||||
ctx->putC = _php_image_output_putc;
|
||||
ctx->putBuf = _php_image_output_putbuf;
|
||||
#if HAVE_LIBGD204
|
||||
ctx->gd_free = _php_image_output_ctxfree;
|
||||
#else
|
||||
ctx->free = _php_image_output_ctxfree;
|
||||
#endif
|
||||
|
||||
#if APACHE && defined(CHARSET_EBCDIC)
|
||||
/* XXX this is unlikely to work any more thies@thieso.net */
|
||||
@ -95,7 +99,11 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
|
||||
break;
|
||||
}
|
||||
|
||||
#if HAVE_LIBGD204
|
||||
ctx->gd_free(ctx);
|
||||
#else
|
||||
ctx->free(ctx);
|
||||
#endif
|
||||
|
||||
if(fp) {
|
||||
fflush(fp);
|
||||
|
Loading…
Reference in New Issue
Block a user