X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fbitio.c;h=923430a1b206bd71b50a48dffbb277740e4b5f1e;hb=a893580230f258ff41f1f5eab2f2d257ce90359d;hp=61d6ee0a6cc2894caea78415c6a6c30f563f7cba;hpb=aee9de2c6eb23628e54b6896f5b441d9b39317c1;p=swftools.git diff --git a/lib/bitio.c b/lib/bitio.c index 61d6ee0..923430a 100644 --- a/lib/bitio.c +++ b/lib/bitio.c @@ -175,6 +175,7 @@ void writer_init_filewriter2(struct writer_t*w, char*filename) static int writer_nullwrite_write(struct writer_t*w, void* data, int len) { + w->pos += len; return len; } static void writer_nullwrite_finish(struct writer_t*w) @@ -302,6 +303,10 @@ static int writer_zlibdeflate_write(struct writer_t*writer, void* data, int len) #ifdef HAVE_ZLIB struct zlibdeflate_t*z = (struct zlibdeflate_t*)writer->internal; int ret; + if(writer->type != WRITER_TYPE_ZLIB) { + fprintf(stderr, "Wrong writer ID (writer not initialized?)\n"); + return 0; + } if(!z) { fprintf(stderr, "zlib not initialized!\n"); return 0; @@ -340,6 +345,10 @@ static void writer_zlibdeflate_finish(struct writer_t*writer) struct zlibdeflate_t*z = (struct zlibdeflate_t*)writer->internal; struct writer_t*output; int ret; + if(writer->type != WRITER_TYPE_ZLIB) { + fprintf(stderr, "Wrong writer ID (writer not initialized?)\n"); + return; + } if(!z) return; output= z->output; @@ -363,7 +372,7 @@ static void writer_zlibdeflate_finish(struct writer_t*writer) if (ret != Z_OK) zlib_error(ret, "bitio:deflate_end", &z->zs); free(writer->internal); writer->internal = 0; - output->finish(output); + //output->finish(output); #else fprintf(stderr, "Error: swftools was compiled without zlib support"); exit(1);