diff --git a/src/modules/Image/encodings/png.c b/src/modules/Image/encodings/png.c index 2edb0bd262c9d477932fb6c592e414689819a01f..6f88df8a3acfba5b97f4477cf45de92574f4631d 100644 --- a/src/modules/Image/encodings/png.c +++ b/src/modules/Image/encodings/png.c @@ -1,5 +1,5 @@ #include "global.h" -RCSID("$Id: png.c,v 1.29 2000/03/25 18:18:21 per Exp $"); +RCSID("$Id: png.c,v 1.30 2000/04/10 01:18:45 per Exp $"); #include "image_machine.h" @@ -1150,17 +1150,18 @@ static void img_png_decode(INT32 args,int header_only) push_int(ct->u.flat.entries[(int)b->item[1].u.string->str[0]].color.g); push_int(ct->u.flat.entries[(int)b->item[1].u.string->str[0]].color.b); } - break; + break; default: - if (b->item[1].u.string->len!=6) + if (b->item[1].u.string->len==6) { int j; for (j=0; j<3; j++) { - int z=_png_c16(b->item[1].u.string->str[j],ihdr.bpp); + int z=_png_c16(b->item[1].u.string->str[j*2],ihdr.bpp); push_int(z); } - } + } else + continue; break; } f_aggregate(3);