Print this page
11506 smatch resync

*** 22,37 **** --- 22,39 ---- static int my_id; static char *get_source_parameter(struct expression *expr) { struct expression *tmp; + const char *param_name; struct symbol *sym; char *name; int param; char *ret = NULL; char buf[32]; int cnt = 0; + bool modified = false; tmp = expr; while ((tmp = get_assigned_expr(tmp))) { expr = tmp; if (cnt++ > 3)
*** 46,59 **** if (!name || !sym) goto free; param = get_param_num_from_sym(sym); if (param < 0) goto free; ! if (param_was_set(expr)) goto free; ! snprintf(buf, sizeof(buf), "p %d", param); ret = alloc_string(buf); free: free_string(name); return ret; --- 48,65 ---- if (!name || !sym) goto free; param = get_param_num_from_sym(sym); if (param < 0) goto free; ! param_name = get_param_name_var_sym(name, sym); ! if (!param_name) goto free; + if (param_was_set_var_sym(name, sym)) + modified = true; ! snprintf(buf, sizeof(buf), "$%d%s%s", param, param_name + 1, ! modified ? " [m]" : ""); ret = alloc_string(buf); free: free_string(name); return ret;