X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswftext.c;h=b0d3de5be79bac50236047895cc118c3b2353050;hb=035b6a652e57d4ec909d6e0642f91810795976bd;hp=c4b162f96d75c99df8493ca76575121b882b597c;hpb=8bde8a660e6eb865d40511c6650ce9f69bb87ed7;p=swftools.git diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index c4b162f..b0d3de5 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -1020,10 +1020,16 @@ int swf_TextSetInfoRecord(TAG * t, SWFFONT * font, U16 size, RGBA * color, int d else swf_SetRGB(t, color); } - if (dx) + if (dx) { + if(dx>32767 || dx<-32768) + fprintf(stderr, "Warning: Horizontal char position overflow: %d\n", dx); swf_SetS16(t, dx); - if (dy) + } + if (dy) { + if(dy>32767 || dy<-32768) + fprintf(stderr, "Warning: Vertical char position overflow: %d\n", dy); swf_SetS16(t, dy); + } if (font) swf_SetU16(t, size); @@ -1181,7 +1187,7 @@ SWFFONT *swf_ReadFont(char *filename) SWF swf; if (!filename) return 0; - f = open(filename, O_RDONLY); + f = open(filename, O_RDONLY|O_BINARY); if (f < 0 || swf_ReadSWF(f, &swf) < 0) { fprintf(stderr, "%s is not a valid SWF font file or contains errors.\n", filename); @@ -1354,7 +1360,7 @@ void swf_WriteFont(SWFFONT * font, char *filename) t = swf_InsertTag(t, ST_END); - f = open(filename, O_RDWR | O_CREAT | O_TRUNC, 0644); + f = open(filename, O_RDWR | O_CREAT | O_TRUNC | O_BINARY, 0644); if FAILED (swf_WriteSWF(f, &swf)) fprintf(stderr, "WriteSWF() failed in writeFont().\n"); close(f);