X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc.c;h=4f42b106889c41543237f4f6009408a9a9715a32;hb=51b0cb1e76475df853a3e9c8c8430fff9b971ab3;hp=8e7977bd797c80f6bb31d7f49ea4c3f10d091705;hpb=4a25d9dfd7c17d85e87d4bc645467554fb1adbea;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index 8e7977b..4f42b10 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -49,6 +49,7 @@ static int do_cgi = 0; static struct options_t options[] = { {"h", "help"}, {"V", "version"}, +{"C", "cgi"}, {"v", "verbose"}, {"o", "output"}, {0,0} @@ -94,6 +95,7 @@ void args_callback_usage(char *name) printf("\n"); printf("-h , --help Print short help message and exit\n"); printf("-V , --version Print version info and exit\n"); + printf("-C , --cgi Output to stdout (for use in CGI environments)\n"); printf("-v , --verbose Increase verbosity. \n"); printf("-o , --output Set output file to .\n"); printf("\n"); @@ -1037,7 +1039,7 @@ void s_image(char*name, char*type, char*filename, int quality) int imageID = id; int width, height; if(!strcmp(type,"jpeg")) { -#ifndef HAVE_LIBJPEG +#ifndef HAVE_JPEGLIB warning("no jpeg support compiled in"); s_box(name, 0, 0, black, 20, 0); return; @@ -1520,13 +1522,17 @@ void s_includeswf(char*name, char*filename) level--; if(!level) break; - /* We simply dump all tags right after the sprite - header, relying on the fact that swf_OptimizeTagOrder() will - sort things out for us later. - We also rely on the fact that the imported SWF is well-formed. - */ - tag = swf_InsertTag(tag, ftag->id); - swf_SetBlock(tag, ftag->data, ftag->len); + + if(ftag->id != ST_SETBACKGROUNDCOLOR) { + /* We simply dump all tags right after the sprite + header, relying on the fact that swf_OptimizeTagOrder() will + sort things out for us later. + We also rely on the fact that the imported SWF is well-formed. + */ + tag = swf_InsertTag(tag, ftag->id); + swf_SetBlock(tag, ftag->data, ftag->len); + } + ftag = ftag->next; } if(!ftag) @@ -1751,7 +1757,7 @@ typedef int command_func_t(map_t*args); SRECT parseBox(char*str) { - SRECT r; + SRECT r = {0,0,0,0}; float xmin, xmax, ymin, ymax; char*x = strchr(str, 'x'); char*d1=0,*d2=0;