What happens before is that parameters would get assigned in one path but
[smatch.git] / smatch.c
blob3bc7e0d9d30b0f5a2527f9f66d3e37227360b39b
1 /*
2 * sparse/smatch.c
4 * Copyright (C) 2006 Dan Carpenter.
6 * Licensed under the Open Software License version 1.1
8 */
10 #include <stdio.h>
11 #include "smatch.h"
13 typedef void (*reg_func) (int id);
14 void register_derefed_params(int id);
15 void register_null_deref(int id);
16 void register_smatch_extra(int id);
17 void register_overflow(int id);
19 const reg_func reg_funcs[] = {
20 &register_smatch_extra,
21 &register_derefed_params,
22 &register_null_deref,
23 &register_overflow,
24 NULL
27 int main(int argc, char **argv)
29 int i;
30 reg_func func;
32 /* The script IDs start at 1.
33 0 is used for internal stuff. */
34 for(i = 1; (func = reg_funcs[i]); i++){
35 func(i);
38 if (argc >= 2 && !strcmp(argv[1], "--debug")) {
39 debug_states = 1;
40 argc--;
41 argv++;
44 smatch(argc, argv);
45 return 0;