regenerated from *.doc
[swftools.git] / src / swfcombine.c
index 8981b1d..b1b0d69 100644 (file)
@@ -1034,6 +1034,9 @@ void combine(SWF*master, char*slave_name, SWF*slave, SWF*newswf)
     slaveid = -1;
     slaveframe = -1;
 
+    if(!master->fileVersion && slave)
+       master->fileVersion = slave->fileVersion;
+
     swf_FoldAll(master);
     swf_FoldAll(slave);
 
@@ -1045,16 +1048,19 @@ void combine(SWF*master, char*slave_name, SWF*slave, SWF*newswf)
 
     if(config.isframe)
     {
-       int tmp;
-       if(slavename && slavename[0]!='#' && (sscanf(slavename, "%d", &tmp) ==
-               strlen(slavename))) {
-       /* if the name the slave should replace 
-          consists only of digits and the -f
-          option is given, it probably is not
-          a frame name but a frame number.
-        */
-           slaveid = tmp;
-           slavename = 0;
+       if(slavename && slavename[0]!='#') {
+           int tmp;
+           int len;
+           sscanf(slavename, "%d%n", &tmp, &len);
+           if(len == strlen(slavename)) {
+           /* if the name the slave should replace 
+              consists only of digits and the -f
+              option is given, it probably is not
+              a frame name but a frame number.
+            */
+               slaveid = tmp;
+               slavename = 0;
+           }
        }
 
        if(slaveid>=0) {
@@ -1232,7 +1238,7 @@ int main(int argn, char *argv[])
                memset(&slave, 0, sizeof(slave));
                slave.firstTag = swf_InsertTag(0, ST_END);
                slave.frameRate = 0;
-               slave.fileVersion = 4;
+               slave.fileVersion = 0;
                slave.frameCount = 0;
            }
 
@@ -1247,6 +1253,9 @@ int main(int argn, char *argv[])
        }
     }
 
+    if(!newswf.fileVersion)
+       newswf.fileVersion = 4;
+
     fi = open(outputname, O_BINARY|O_RDWR|O_TRUNC|O_CREAT, 0777);
 
     if(config.zlib) {