X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.c;h=9b3c51ed6be0cbc571afaf216326b83f4304327d;hb=bb3b7773036c333bc4179b8f415a886c8c53c42e;hp=cd2e0b6c4f58439f9a8381a3d986499e318fa9e6;hpb=29bd38f41bd1ade654941453d76c029f275edc28;p=swftools.git diff --git a/lib/rfxswf.c b/lib/rfxswf.c index cd2e0b6..9b3c51e 100644 --- a/lib/rfxswf.c +++ b/lib/rfxswf.c @@ -865,7 +865,7 @@ int swf_WriteTag2(struct writer_t*writer, TAG * t) len = (t->id==ST_DEFINESPRITE)?swf_DefineSprite_GetRealSize(t):t->len; - short_tag = len<0x3f; + short_tag = len<0x3f&&(t->id!=ST_DEFINEBITSLOSSLESS&&t->id!=ST_DEFINEBITSLOSSLESS2); if (writer) { if (short_tag) @@ -1042,7 +1042,7 @@ void swf_FoldSprite(TAG * t) do { - if(t->len<0x3f) { + if(t->len<0x3f&&t->id!=ST_DEFINEBITSLOSSLESS&&t->id!=ST_DEFINEBITSLOSSLESS2) { swf_SetU16(sprtag,t->len|(t->id<<6)); } else { swf_SetU16(sprtag,0x3f|(t->id<<6)); @@ -1207,6 +1207,7 @@ int swf_WriteSWF2(struct writer_t*writer, SWF * swf) // Writes SWF to file, int fileSize = 0; int inSprite = 0; int writer_lastpos = 0; + int ret; if (!swf) return -1; if (!writer) return -1; // the caller should provide a nullwriter, not 0, for querying SWF size @@ -1296,7 +1297,7 @@ int swf_WriteSWF2(struct writer_t*writer, SWF * swf) // Writes SWF to file, swf_SetU16(&t1,swf->frameRate); swf_SetU16(&t1,swf->frameCount); - int ret = writer->write(writer,b,swf_GetTagLen(&t1)); + ret = writer->write(writer,b,swf_GetTagLen(&t1)); if (ret!=swf_GetTagLen(&t1)) { #ifdef DEBUG_RFXSWF