X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpng.c;h=739b8958de6ab3b0bfc041b1a1d2262ea3ea53ff;hb=619c598195de4fc32af95d6b6608ba00f91b5dfc;hp=e30587204e14ed8571b98ab6b84598ef06721cac;hpb=4513e3be4df534f961bdca64480631fe798c67fb;p=swftools.git diff --git a/lib/png.c b/lib/png.c index e305872..739b895 100644 --- a/lib/png.c +++ b/lib/png.c @@ -104,7 +104,7 @@ static int png_read_header(FILE*fi, struct png_header*header) while(png_read_chunk(&id, &len, &data, fi)) { //printf("Chunk: %c%c%c%c (len:%d)\n", id[0],id[1],id[2],id[3], len); - if(!strncasecmp(id, "IHDR", 4)) { + if(!strncmp(id, "IHDR", 4)) { char a,b,c,f,i; if(len < 8) exit(1); header->width = data[0]<<24|data[1]<<16|data[2]<<8|data[3]; @@ -439,7 +439,7 @@ static void inline applyfilter4(int mode, unsigned char*src, unsigned char*old, } -EXPORT int getPNGdimensions(char*sname, int*destwidth, int*destheight) +EXPORT int getPNGdimensions(const char*sname, int*destwidth, int*destheight) { FILE*fi; struct png_header header; @@ -457,7 +457,7 @@ EXPORT int getPNGdimensions(char*sname, int*destwidth, int*destheight) return 1; } -EXPORT int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata) +EXPORT int getPNG(const char*sname, int*destwidth, int*destheight, unsigned char**destdata) { char tagid[4]; int len; @@ -619,6 +619,9 @@ EXPORT int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**dest int x,y; int pos=0; *destdata = data2; + + unsigned char* firstline = malloc(header.width*4); + memset(firstline,0,header.width*4); for(y=0;y