added -c parameter
authorkramm <kramm>
Sat, 23 Jul 2005 08:25:46 +0000 (08:25 +0000)
committerkramm <kramm>
Sat, 23 Jul 2005 08:25:46 +0000 (08:25 +0000)
src/swfdump.c

index be2a3dd..a74c453 100644 (file)
@@ -58,6 +58,7 @@ static int showshapes = 0;
 static int hex = 0;
 static int used = 0;
 static int bbox = 0;
+static int cumulative = 0;
 
 static struct options_t options[] = {
 {"h", "help"},
@@ -105,6 +106,10 @@ int args_callback_option(char*name,char*val)
         html = 1;
         return 0;
     }
+    else if(name[0]=='c') {
+        cumulative = 1;
+        return 0;
+    }
     else if(name[0]=='E') {
         html = 1;
         xhtml = 1;
@@ -761,6 +766,7 @@ int main (int argc,char ** argv)
     char* framelabel = 0;
     char prefix[128];
     int filesize = 0;
+    int filepos = 0;
     prefix[0] = 0;
     memset(idtab,0,65536);
 
@@ -904,10 +910,14 @@ int main (int argc,char ** argv)
             //tag = tag->next;
             //continue;
         }
-       if(swf_TagGetName(tag)) {
-           printf("[%03x] %9ld %s%s", tag->id, tag->len, prefix, swf_TagGetName(tag));
+       if(!name) {
+           name = "UNKNOWN TAG";
+       }
+       if(cumulative) {
+           filepos += tag->len;
+           printf("[%03x] %9ld %9ld %s%s", tag->id, tag->len, filepos, prefix, swf_TagGetName(tag));
        } else {
-           printf("[%03x] %9ld %sUNKNOWN TAG %03x", tag->id, tag->len, prefix, tag->id);
+           printf("[%03x] %9ld %s%s", tag->id, tag->len, prefix, swf_TagGetName(tag));
        }
        
        if(tag->id == ST_FREECHARACTER) {