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;