mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00

There's no need anymore to call an own error handler directly. Instead we register our error handler and call libgd's error functions (which will forward). We do this regardless of compiling with the bundled or an external libgd.
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <math.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include "gd.h"
|
|
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
/* Exported functions: */
|
|
extern void gdImagePngToSink (gdImagePtr im, gdSinkPtr out);
|
|
extern gdImagePtr gdImageCreateFromPngSource (gdSourcePtr inSource);
|
|
|
|
/* Use this for commenting out debug-print statements. */
|
|
/* Just use the first '#define' to allow all the prints... */
|
|
/*#define GD_SS_DBG(s) (s) */
|
|
#define GD_SS_DBG(s)
|
|
|
|
#ifdef HAVE_LIBPNG
|
|
void gdImagePngToSink (gdImagePtr im, gdSinkPtr outSink)
|
|
{
|
|
gdIOCtx *out = gdNewSSCtx(NULL, outSink);
|
|
gdImagePngCtx(im, out);
|
|
out->gd_free(out);
|
|
}
|
|
|
|
gdImagePtr gdImageCreateFromPngSource (gdSourcePtr inSource)
|
|
{
|
|
gdIOCtx *in = gdNewSSCtx(inSource, NULL);
|
|
gdImagePtr im;
|
|
|
|
im = gdImageCreateFromPngCtx(in);
|
|
|
|
in->gd_free(in);
|
|
|
|
return im;
|
|
}
|
|
#else /* no HAVE_LIBPNG */
|
|
void gdImagePngToSink (gdImagePtr im, gdSinkPtr outSink)
|
|
{
|
|
gd_error("PNG support is not available");
|
|
}
|
|
gdImagePtr gdImageCreateFromPngSource (gdSourcePtr inSource)
|
|
{
|
|
gd_error("PNG support is not available");
|
|
return NULL;
|
|
}
|
|
#endif /* HAVE_LIBPNG */
|
|
|