aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Li <sparse@chrisli.org>2006-11-30 02:11:36 -0800
committerJosh Triplett <josh@freedesktop.org>2006-12-04 23:27:58 -0800
commit4ad8ad708f80c91e70f8491e4d62dccc40358887 (patch)
tree7d09aa58e537095a1567568913ab233408dfc835 /graph.c
parentdelay removing file scope (diff)
downloadsparse-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 'graph.c')
-rw-r--r--graph.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/graph.c b/graph.c
index ede3dfa..1a26ce0 100644
--- a/graph.c
+++ b/graph.c
@@ -55,10 +55,15 @@ static void graph_symbols(struct symbol_list *list)
int main(int argc, char **argv)
{
+ struct string_list *filelist = NULL;
+ char *file;
+
printf("digraph control_flow {\n");
- graph_symbols(sparse_initialize(argc, argv));
- while (*argv)
- graph_symbols(sparse(argv));
+ graph_symbols(sparse_initialize(argc, argv, &filelist));
+
+ FOR_EACH_PTR_NOTAG(filelist, file) {
+ graph_symbols(sparse(file));
+ } END_FOR_EACH_PTR_NOTAG(file);
printf("}\n");
return 0;
}