Blame tests/png/bug00193.c

Packit Service df60bb
#include <stdlib.h>
Packit Service df60bb
#include "gd.h"
Packit Service df60bb
#include "gdhelpers.h"
Packit Service df60bb
#include "gdtest.h"
Packit Service df60bb
Packit Service df60bb
static gdImagePtr im;
Packit Service df60bb
Packit Service df60bb
#define TERMINATE(ctx, status) do {				\
Packit Service df60bb
		free(ctx);							\
Packit Service df60bb
		gdImageDestroy(im);						\
Packit Service df60bb
		exit(status);							\
Packit Service df60bb
	} while (0)
Packit Service df60bb
Packit Service df60bb
static void
Packit Service df60bb
failPutC(gdIOCtxPtr ctx, int c)
Packit Service df60bb
{
Packit Service df60bb
	(void)c;
Packit Service df60bb
	TERMINATE(ctx, 1);
Packit Service df60bb
}
Packit Service df60bb
Packit Service df60bb
static int
Packit Service df60bb
failPutBuf(gdIOCtxPtr ctx, const void * data, int size)
Packit Service df60bb
{
Packit Service df60bb
	(void)data;
Packit Service df60bb
	(void)size;
Packit Service df60bb
	TERMINATE(ctx, 1);
Packit Service df60bb
	return -1;
Packit Service df60bb
}
Packit Service df60bb
Packit Service df60bb
int main()
Packit Service df60bb
{
Packit Service df60bb
	gdIOCtxPtr ctx;
Packit Service df60bb
Packit Service df60bb
	gdSetErrorMethod(gdSilence);
Packit Service df60bb
Packit Service df60bb
	im = gdImageCreate(100, 100);
Packit Service df60bb
	ctx = (gdIOCtxPtr)malloc(sizeof(gdIOCtx));
Packit Service df60bb
	ctx->putC   = failPutC;
Packit Service df60bb
	ctx->putBuf = failPutBuf;
Packit Service df60bb
	gdImagePngCtx(im, ctx);
Packit Service df60bb
	TERMINATE(ctx, 0);
Packit Service df60bb
	return 0;
Packit Service df60bb
}