Print this page
new smatch

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/ctags.c
          +++ new/usr/src/tools/smatch/src/ctags.c
↓ open down ↓ 127 lines elided ↑ open up ↑
 128  128          if (sym->ident && sym->ident->reserved)
 129  129                  return;
 130  130          if (sym->type == SYM_KEYWORD || sym->type == SYM_PREPROCESSOR)
 131  131                  return;
 132  132  
 133  133          add_tag(sym);
 134  134          base = sym->ctype.base_type;
 135  135  
 136  136          switch (sym->type) {
 137  137          case SYM_NODE:
 138      -                if (base->type == SYM_FN)
      138 +                if (base && base->type == SYM_FN)
 139  139                          sym->kind = 'f';
 140  140                  examine_symbol(base);
 141  141                  break;
 142  142          case SYM_STRUCT:
 143  143                  sym->kind = 's';
 144  144                  examine_members(sym->symbol_list);
 145  145                  break;
 146  146          case SYM_UNION:
 147  147                  sym->kind = 'u';
 148  148                  examine_members(sym->symbol_list);
↓ open down ↓ 60 lines elided ↑ open up ↑
 209  209                  examine_namespace(sym);
 210  210          } END_FOR_EACH_PTR(sym);
 211  211  }
 212  212  
 213  213  int main(int argc, char **argv)
 214  214  {
 215  215          struct string_list *filelist = NULL;
 216  216          char *file;
 217  217  
 218  218          examine_symbol_list(sparse_initialize(argc, argv, &filelist));
 219      -        FOR_EACH_PTR_NOTAG(filelist, file) {
      219 +        FOR_EACH_PTR(filelist, file) {
 220  220                  sparse(file);
 221  221                  examine_symbol_list(file_scope->symbols);
 222      -        } END_FOR_EACH_PTR_NOTAG(file);
      222 +        } END_FOR_EACH_PTR(file);
 223  223          examine_symbol_list(global_scope->symbols);
 224  224          sort_list((struct ptr_list **)&taglist, cmp_sym);
 225  225          show_tags(taglist);
 226  226          return 0;
 227  227  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX