Print this page
new smatch
@@ -133,11 +133,11 @@
add_tag(sym);
base = sym->ctype.base_type;
switch (sym->type) {
case SYM_NODE:
- if (base->type == SYM_FN)
+ if (base && base->type == SYM_FN)
sym->kind = 'f';
examine_symbol(base);
break;
case SYM_STRUCT:
sym->kind = 's';
@@ -214,14 +214,14 @@
{
struct string_list *filelist = NULL;
char *file;
examine_symbol_list(sparse_initialize(argc, argv, &filelist));
- FOR_EACH_PTR_NOTAG(filelist, file) {
+ FOR_EACH_PTR(filelist, file) {
sparse(file);
examine_symbol_list(file_scope->symbols);
- } END_FOR_EACH_PTR_NOTAG(file);
+ } END_FOR_EACH_PTR(file);
examine_symbol_list(global_scope->symbols);
sort_list((struct ptr_list **)&taglist, cmp_sym);
show_tags(taglist);
return 0;
}