fixed parameter setting
[swftools.git] / pdf2swf / swfoutput.cc
index 179d9ed..5bfe250 100644 (file)
@@ -1545,6 +1545,7 @@ void swfresult_destroy(gfxresult_t*gfx)
        gfx->internal = 0;
     }
     memset(gfx, 0, sizeof(gfxresult_t));
+    free(gfx);
 }
 
 static void swfoutput_destroy(gfxdevice_t* dev);
@@ -1975,7 +1976,7 @@ void swfoutput_gfxdrawchar(gfxdevice_t*dev, char*fontid, int glyph, gfxcolor_t*c
     dev->drawchar(dev, fontid, glyph, c, m);
 }
 
-void swfoutput_setparameter(gfxdevice_t*dev, char*name, char*value)
+int swf_setparameter(gfxdevice_t*dev, const char*name, const char*value)
 {
     swfoutput_internal*i = (swfoutput_internal*)dev->internal;
 
@@ -2011,6 +2012,8 @@ void swfoutput_setparameter(gfxdevice_t*dev, char*name, char*value)
        i->config_caplinewidth = atof(value);
     } else if(!strcmp(name, "dumpfonts")) {
        i->config_dumpfonts = atoi(value);
+    } else if(!strcmp(name, "next_bitmap_is_jpeg")) {
+       i->jpeg = 1;
     } else if(!strcmp(name, "jpegquality")) {
        int val = atoi(value);
        if(val<0) val=0;
@@ -2028,7 +2031,9 @@ void swfoutput_setparameter(gfxdevice_t*dev, char*name, char*value)
        i->config_fontsplinemaxerror = v;
     } else {
        fprintf(stderr, "unknown parameter: %s (=%s)\n", name, value);
+       return 0;
     }
+    return 1;
 }
 
 // --------------------------------------------------------------------
@@ -2368,15 +2373,6 @@ static void swf_endclip(gfxdevice_t*dev)
     i->depth ++;*/
     swf_ObjectPlaceClip(i->cliptags[i->clippos],i->clipshapes[i->clippos],i->clipdepths[i->clippos],&i->page_matrix,NULL,NULL,i->depth);
 }
-static int swf_setparameter(gfxdevice_t*dev, const char*key, const char*value)
-{
-    if(!strcmp(key, "next_bitmap_is_jpeg")) {
-       ((swfoutput_internal*)dev->internal)->jpeg = 1;
-       return 1;
-    }
-    return 0;
-}
-
 static int gfxline_type(gfxline_t*line)
 {
     int tmplines=0;