Print this page
11506 smatch resync


 379                 return 0;
 380 
 381         if (strcmp(right_type_name, left_type_name) == 0) {
 382                 prev_ans = 1;
 383                 return 1;
 384         }
 385 
 386         return 0;
 387 }
 388 
 389 static void match_assign_value(struct expression *expr)
 390 {
 391         char *member, *right_member;
 392         struct range_list *rl;
 393         struct symbol *type;
 394 
 395         if (!cur_func_sym)
 396                 return;
 397 
 398         type = get_type(expr->left);
 399         if (type && type->type == SYM_STRUCT)
 400                 return;
 401 
 402         member = get_member_name(expr->left);
 403         if (!member)
 404                 return;
 405 
 406         /* if we're saying foo->mtu = bar->mtu then that doesn't add information */
 407         right_member = get_member_name(expr->right);
 408         if (right_member && strcmp(right_member, member) == 0)
 409                 goto free;
 410 
 411         if (is_fake_call(expr->right)) {
 412                 if (is_ignored_macro())
 413                         goto free;
 414                 if (is_ignored_function())
 415                         goto free;
 416                 if (is_uncasted_pointer_assign())
 417                         goto free;
 418                 if (is_uncasted_fn_param_from_db())
 419                         goto free;
 420                 if (is_container_of())
 421                         goto free;




 379                 return 0;
 380 
 381         if (strcmp(right_type_name, left_type_name) == 0) {
 382                 prev_ans = 1;
 383                 return 1;
 384         }
 385 
 386         return 0;
 387 }
 388 
 389 static void match_assign_value(struct expression *expr)
 390 {
 391         char *member, *right_member;
 392         struct range_list *rl;
 393         struct symbol *type;
 394 
 395         if (!cur_func_sym)
 396                 return;
 397 
 398         type = get_type(expr->left);



 399         member = get_member_name(expr->left);
 400         if (!member)
 401                 return;
 402 
 403         /* if we're saying foo->mtu = bar->mtu then that doesn't add information */
 404         right_member = get_member_name(expr->right);
 405         if (right_member && strcmp(right_member, member) == 0)
 406                 goto free;
 407 
 408         if (is_fake_call(expr->right)) {
 409                 if (is_ignored_macro())
 410                         goto free;
 411                 if (is_ignored_function())
 412                         goto free;
 413                 if (is_uncasted_pointer_assign())
 414                         goto free;
 415                 if (is_uncasted_fn_param_from_db())
 416                         goto free;
 417                 if (is_container_of())
 418                         goto free;