git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fonts with 0 characters were parsed incorrectly.
[swftools.git]
/
src
/
swfextract.c
diff --git
a/src/swfextract.c
b/src/swfextract.c
index
131a9a0
..
a9e60e9
100644
(file)
--- a/
src/swfextract.c
+++ b/
src/swfextract.c
@@
-13,7
+13,6
@@
#include "../lib/rfxswf.h"
#include "../lib/args.h"
#include "../lib/log.h"
#include "../lib/rfxswf.h"
#include "../lib/args.h"
#include "../lib/log.h"
-#include "reloc.h"
#ifdef HAVE_ZLIB_H
#ifdef HAVE_LIBZ
#include "zlib.h"
#ifdef HAVE_ZLIB_H
#ifdef HAVE_LIBZ
#include "zlib.h"
@@
-143,7
+142,8
@@
void args_callback_usage(char*name)
#endif
printf("\t-m , --mp3\t\t\t Extract main mp3 stream\n");
printf("\t-f , --frame frames\t\t frame numbers to extract\n");
#endif
printf("\t-m , --mp3\t\t\t Extract main mp3 stream\n");
printf("\t-f , --frame frames\t\t frame numbers to extract\n");
- printf("\t-w , --hollow\t\t\t hollow mode: don't remove empty frames (use with -f)\n");
+ printf("\t-w , --hollow\t\t\t hollow mode: don't remove empty frames\n");
+ printf("\t \t\t\t (use with -f)\n");
printf("\t-V , --version\t\t\t Print program version and exit\n");
}
int args_callback_command(char*name,char*val)
printf("\t-V , --version\t\t\t Print program version and exit\n");
}
int args_callback_command(char*name,char*val)
@@
-177,7
+177,7
@@
void idcallback(void*data)
void enumerateIDs(TAG*tag, void(*callback)(void*))
{
void enumerateIDs(TAG*tag, void(*callback)(void*))
{
- U8*data;
+/* U8*data;
int len = tag->len;
if(tag->len>=64) {
len += 6;
int len = tag->len;
if(tag->len>=64) {
len += 6;
@@
-195,6
+195,13
@@
void enumerateIDs(TAG*tag, void(*callback)(void*))
memcpy(&data[2], tag->data, tag->len);
}
map_ids_mem(data, len, callback);
memcpy(&data[2], tag->data, tag->len);
}
map_ids_mem(data, len, callback);
+ */
+ int num = swf_GetNumUsedIDs(tag);
+ int *ptr = malloc(sizeof(int)*num);
+ int t;
+ swf_GetUsedIDs(tag, ptr);
+ for(t=0;t<num;t++)
+ callback(&tag->data[ptr[t]]);
}
void extractTag(SWF*swf, char*filename)
}
void extractTag(SWF*swf, char*filename)