Print this page
11506 smatch resync


 221                 return NULL;
 222 
 223         state = get_state(my_id, name, NULL);
 224         free_string(name);
 225         return state;
 226 }
 227 
 228 struct expression_list *get_conditions(struct expression *expr)
 229 {
 230         struct smatch_state *state;
 231 
 232         state = get_state_expr(link_id, expr);
 233         if (!state)
 234                 return NULL;
 235         return state->data;
 236 }
 237 
 238 void register_stored_conditions(int id)
 239 {
 240         my_id = id;

 241 }
 242 
 243 void register_stored_conditions_links(int id)
 244 {
 245         link_id = id;


 246         add_merge_hook(link_id, &merge_links);
 247         add_modification_hook(link_id, &match_link_modify);
 248 }
 249 
 250 #define RECURSE_LIMIT 50
 251 
 252 static void filter_by_sm(struct sm_state *sm,
 253                        struct state_list **true_stack,
 254                        struct state_list **false_stack,
 255                        int *recurse_cnt)
 256 {
 257         if (!sm)
 258                 return;
 259 
 260         if ((*recurse_cnt)++ > RECURSE_LIMIT)
 261                 return;
 262 
 263         if (strcmp(sm->state->name, "true") == 0) {
 264                 add_ptr_list(true_stack, sm);
 265         } else if (strcmp(sm->state->name, "false") == 0) {




 221                 return NULL;
 222 
 223         state = get_state(my_id, name, NULL);
 224         free_string(name);
 225         return state;
 226 }
 227 
 228 struct expression_list *get_conditions(struct expression *expr)
 229 {
 230         struct smatch_state *state;
 231 
 232         state = get_state_expr(link_id, expr);
 233         if (!state)
 234                 return NULL;
 235         return state->data;
 236 }
 237 
 238 void register_stored_conditions(int id)
 239 {
 240         my_id = id;
 241         set_dynamic_states(my_id);
 242 }
 243 
 244 void register_stored_conditions_links(int id)
 245 {
 246         link_id = id;
 247         db_ignore_states(link_id);
 248         set_dynamic_states(link_id);
 249         add_merge_hook(link_id, &merge_links);
 250         add_modification_hook(link_id, &match_link_modify);
 251 }
 252 
 253 #define RECURSE_LIMIT 50
 254 
 255 static void filter_by_sm(struct sm_state *sm,
 256                        struct state_list **true_stack,
 257                        struct state_list **false_stack,
 258                        int *recurse_cnt)
 259 {
 260         if (!sm)
 261                 return;
 262 
 263         if ((*recurse_cnt)++ > RECURSE_LIMIT)
 264                 return;
 265 
 266         if (strcmp(sm->state->name, "true") == 0) {
 267                 add_ptr_list(true_stack, sm);
 268         } else if (strcmp(sm->state->name, "false") == 0) {