1 /**
2 * Passing an unrecognized format to gdImageGd2() should result in
3 * GD2_FMT_TRUECOLOR_COMPRESSED for truecolor images.
4 *
5 * See <https://github.com/libgd/libgd/issues/289>.
6 */
7
8 #include "gd.h"
9 #include "gdtest.h"
10
11
12 #define GD2_FMT_UNRECOGNIZED 0
13 #define GD2_FMT_TRUECOLOR_COMPRESSED 4
14
15 #define MSG "expected %s byte to be %d, but got %d\n"
16
17
main()18 int main()
19 {
20 gdImagePtr im;
21 char *buffer;
22 int size;
23
24 im = gdImageCreateTrueColor(10, 10);
25 gdTestAssert(im != NULL);
26 buffer = (char *) gdImageGd2Ptr(im, 128, GD2_FMT_UNRECOGNIZED, &size);
27 gdTestAssert(buffer != NULL);
28 gdImageDestroy(im);
29 gdTestAssertMsg(buffer[12] == 0, MSG, "1st", 0, buffer[12]);
30 gdTestAssertMsg(buffer[13] == GD2_FMT_TRUECOLOR_COMPRESSED, MSG, "2nd", GD2_FMT_TRUECOLOR_COMPRESSED, buffer[13]);
31
32 gdFree(buffer);
33
34 return gdNumFailures();
35 }
36