diff options
author | 2006-11-30 02:11:36 -0800 | |
---|---|---|
committer | 2006-12-04 23:27:58 -0800 | |
commit | 4ad8ad708f80c91e70f8491e4d62dccc40358887 (patch) | |
tree | 7d09aa58e537095a1567568913ab233408dfc835 /obfuscate.c | |
parent | delay removing file scope (diff) | |
download | sparse-4ad8ad708f80c91e70f8491e4d62dccc40358887.tar.gz sparse-4ad8ad708f80c91e70f8491e4d62dccc40358887.tar.bz2 sparse-4ad8ad708f80c91e70f8491e4d62dccc40358887.zip |
cleanup write to argument array hack
The sparse interface is a kind of snaky that it change the input argument
array. The function sparse() does the same hack just to skip the files.
This patch add the ptr list for string. So sparse_initialize will
return list of file to compile. The string pointer is not aligned
at word boundary. This patch introduce non taged version of the ptr
list iteration function.
Signed-off-by: Christopher Li <sparse@chrisli.org>
Diffstat (limited to 'obfuscate.c')
-rw-r--r-- | obfuscate.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/obfuscate.c b/obfuscate.c index 1e10bf7..f2ed7b1 100644 --- a/obfuscate.c +++ b/obfuscate.c @@ -49,8 +49,12 @@ static void emit_symbol_list(struct symbol_list *list) int main(int argc, char **argv) { - emit_symbol_list(sparse_initialize(argc, argv)); - while (*argv) - emit_symbol_list(sparse(argv)); + struct string_list *filelist = NULL; + char *file; + + emit_symbol_list(sparse_initialize(argc, argv, &filelist)); + FOR_EACH_PTR_NOTAG(filelist, file) { + emit_symbol_list(sparse(file)); + } END_FOR_EACH_PTR_NOTAG(file); return 0; } |