Lines Matching refs:v
241 struct variable *v; in variable_lookup() local
243 list_for_each_entry(v, &variable_list, node) { in variable_lookup()
244 if (!strcmp(name, v->name)) in variable_lookup()
245 return v; in variable_lookup()
253 struct variable *v; in variable_expand() local
256 v = variable_lookup(name); in variable_expand()
257 if (!v) in variable_expand()
260 if (argc == 0 && v->exp_count) in variable_expand()
264 if (v->exp_count > 1000) in variable_expand()
267 v->exp_count++; in variable_expand()
269 if (v->flavor == VAR_RECURSIVE) in variable_expand()
270 res = expand_string_with_args(v->value, argc, argv); in variable_expand()
272 res = xstrdup(v->value); in variable_expand()
274 v->exp_count--; in variable_expand()
282 struct variable *v; in variable_add() local
286 v = variable_lookup(name); in variable_add()
287 if (v) { in variable_add()
290 flavor = v->flavor; in variable_add()
293 free(v->value); in variable_add()
300 v = xmalloc(sizeof(*v)); in variable_add()
301 v->name = xstrdup(name); in variable_add()
302 v->exp_count = 0; in variable_add()
303 list_add_tail(&v->node, &variable_list); in variable_add()
306 v->flavor = flavor; in variable_add()
314 v->value = xrealloc(v->value, in variable_add()
315 strlen(v->value) + strlen(new_value) + 2); in variable_add()
316 strcat(v->value, " "); in variable_add()
317 strcat(v->value, new_value); in variable_add()
320 v->value = new_value; in variable_add()
324 static void variable_del(struct variable *v) in variable_del() argument
326 list_del(&v->node); in variable_del()
327 free(v->name); in variable_del()
328 free(v->value); in variable_del()
329 free(v); in variable_del()
334 struct variable *v, *tmp; in variable_all_del() local
336 list_for_each_entry_safe(v, tmp, &variable_list, node) in variable_all_del()
337 variable_del(v); in variable_all_del()