Lines Matching refs:var

928   register SHELL_VAR *var;
930 for (i = 0; list && (var = list[i]); i++)
931 if (invisible_p (var) == 0)
932 print_assignment (var);
942 register SHELL_VAR *var;
944 for (i = 0; list && (var = list[i]); i++)
946 printf ("%s ", var->name);
947 print_var_function (var);
956 print_assignment (var)
957 SHELL_VAR *var;
959 if (var_isset (var) == 0)
962 if (function_p (var))
964 printf ("%s", var->name);
965 print_var_function (var);
969 else if (array_p (var))
970 print_array_assignment (var, 0);
971 else if (assoc_p (var))
972 print_assoc_assignment (var, 0);
976 printf ("%s=", var->name);
977 print_var_value (var, 1);
987 print_var_value (var, quote)
988 SHELL_VAR *var;
993 if (var_isset (var) == 0)
996 if (quote && posixly_correct == 0 && ansic_shouldquote (value_cell (var)))
998 t = ansic_quote (value_cell (var), 0, (int *)0);
1002 else if (quote && sh_contains_shell_metas (value_cell (var)))
1004 t = sh_single_quote (value_cell (var));
1009 printf ("%s", value_cell (var));
1015 print_var_function (var)
1016 SHELL_VAR *var;
1020 if (function_p (var) && var_isset (var))
1022 x = named_function_string ((char *)NULL, function_cell(var), FUNC_MULTILINE|FUNC_EXTERNAL);
1053 tempvar = (*(var->dynamic_value)) (var);
1055 Sometimes `tempvar' will replace the value of `var'. Other times, the
1066 #define INIT_DYNAMIC_VAR(var, val, gfunc, afunc) \
1069 v = bind_variable (var, (val), 0); \
1075 #define INIT_DYNAMIC_ARRAY_VAR(var, gfunc, afunc) \
1078 v = make_new_array_variable (var); \
1084 #define INIT_DYNAMIC_ASSOC_VAR(var, gfunc, afunc) \
1087 v = make_new_assoc_variable (var); \
1183 get_seconds (var)
1184 SHELL_VAR *var;
1192 FREE (value_cell (var));
1194 VSETATTR (var, att_integer);
1195 var_setvalue (var, p);
1196 return (var);
1300 get_random (var)
1301 SHELL_VAR *var;
1310 FREE (value_cell (var));
1312 VSETATTR (var, att_integer);
1313 var_setvalue (var, p);
1314 return (var);
1318 assign_lineno (var, value, unused, key)
1319 SHELL_VAR *var;
1329 return var;
1334 get_lineno (var)
1335 SHELL_VAR *var;
1342 FREE (value_cell (var));
1343 var_setvalue (var, p);
1344 return (var);
1348 assign_subshell (var, value, unused, key)
1349 SHELL_VAR *var;
1359 return var;
1363 get_subshell (var)
1364 SHELL_VAR *var;
1369 FREE (value_cell (var));
1370 var_setvalue (var, p);
1371 return (var);
1375 get_bashpid (var)
1376 SHELL_VAR *var;
1384 FREE (value_cell (var));
1385 VSETATTR (var, att_integer|att_readonly);
1386 var_setvalue (var, p);
1387 return (var);
1391 get_bash_command (var)
1392 SHELL_VAR *var;
1403 FREE (value_cell (var));
1404 var_setvalue (var, p);
1405 return (var);
1410 get_histcmd (var)
1411 SHELL_VAR *var;
1416 FREE (value_cell (var));
1417 var_setvalue (var, p);
1418 return (var);
1425 get_comp_wordbreaks (var)
1426 SHELL_VAR *var;
1432 FREE (value_cell (var));
1433 var_setvalue (var, savestring (rl_completer_word_break_characters));
1435 return (var);
1761 SHELL_VAR *var;
1764 var = (SHELL_VAR *)NULL;
1774 var = hash_lookup (name, temporary_env);
1776 if (var == 0)
1777 var = var_lookup (name, shell_variables);
1779 if (var == 0)
1782 return (var->dynamic_value ? (*(var->dynamic_value)) (var) : var);
1818 get_variable_value (var)
1819 SHELL_VAR *var;
1821 if (var == 0)
1824 else if (array_p (var))
1825 return (array_reference (array_cell (var), 0));
1826 else if (assoc_p (var))
1827 return (assoc_reference (assoc_cell (var), "0"));
1830 return (value_cell (var));
1842 SHELL_VAR *var;
1844 var = find_variable (var_name);
1845 return ((var) ? get_variable_value (var) : (char *)NULL);
2021 SHELL_VAR *var;
2024 var = make_local_variable (name);
2025 if (var == 0 || array_p (var))
2026 return var;
2030 dispose_variable_value (var);
2031 var_setarray (var, array);
2032 VSETATTR (var, att_array);
2033 return var;
2055 SHELL_VAR *var;
2058 var = make_local_variable (name);
2059 if (var == 0 || assoc_p (var))
2060 return var;
2062 dispose_variable_value (var);
2065 var_setassoc (var, hash);
2066 VSETATTR (var, att_assoc);
2067 return var;
2072 make_variable_value (var, value, flags)
2073 SHELL_VAR *var;
2086 if (integer_p (var))
2090 oval = value_cell (var);
2109 else if (capcase_p (var) || uppercase_p (var) || lowercase_p (var))
2113 oval = get_variable_value (var);
2129 op = capcase_p (var) ? CASE_CAPITALIZE
2130 : (uppercase_p (var) ? CASE_UPPER : CASE_LOWER);
2140 oval = get_variable_value (var);
2283 bind_variable_value (var, value, aflags)
2284 SHELL_VAR *var;
2290 VUNSETATTR (var, att_invisible);
2292 if (var->assign_func)
2296 t = (aflags & ASS_APPEND) ? make_variable_value (var, value, aflags) : value;
2297 (*(var->assign_func)) (var, t, -1, 0);
2303 t = make_variable_value (var, value, aflags);
2304 FREE (value_cell (var));
2305 var_setvalue (var, t);
2308 INVALIDATE_EXPORTSTR (var);
2311 VSETATTR (var, att_exported);
2313 if (exported_p (var))
2316 return (var);
2367 bind_var_to_int (var, val)
2368 char *var;
2374 return (bind_int_variable (var, p));
2464 SHELL_VAR *var;
2481 var = find_variable (name);
2482 if (var && (readonly_p (var) || noassign_p (var)))
2484 if (readonly_p (var))
2497 var = hash_lookup (name, temporary_env);
2498 if (var == 0)
2499 var = make_new_variable (name, temporary_env);
2501 FREE (value_cell (var));
2509 var_setvalue (var, value);
2510 var->attributes |= (att_exported|att_tempvar);
2511 var->context = variable_context; /* XXX */
2513 INVALIDATE_EXPORTSTR (var);
2514 var->exportstr = mk_env_string (name, value);
2519 setifs (var);
2539 copy_variable (var)
2540 SHELL_VAR *var;
2544 if (var)
2548 copy->attributes = var->attributes;
2549 copy->name = savestring (var->name);
2551 if (function_p (var))
2552 var_setfunc (copy, copy_command (function_cell (var)));
2554 else if (array_p (var))
2555 var_setarray (copy, array_copy (array_cell (var)));
2556 else if (assoc_p (var))
2557 var_setassoc (copy, assoc_copy (assoc_cell (var)));
2559 else if (value_cell (var))
2560 var_setvalue (copy, savestring (value_cell (var)));
2564 copy->dynamic_value = var->dynamic_value;
2565 copy->assign_func = var->assign_func;
2567 copy->exportstr = COPY_EXPORTSTR (var);
2569 copy->context = var->context;
2583 dispose_variable_value (var)
2584 SHELL_VAR *var;
2586 if (function_p (var))
2587 dispose_command (function_cell (var));
2589 else if (array_p (var))
2590 array_dispose (array_cell (var));
2591 else if (assoc_p (var))
2592 assoc_dispose (assoc_cell (var));
2595 FREE (value_cell (var));
2599 dispose_variable (var)
2600 SHELL_VAR *var;
2602 if (var == 0)
2605 if (nofree_p (var) == 0)
2606 dispose_variable_value (var);
2608 FREE_EXPORTSTR (var);
2610 free (var->name);
2612 if (exported_p (var))
2615 free (var);
2782 SHELL_VAR *var;
2784 var = (SHELL_VAR *)data;
2785 dispose_variable (var);
2902 vlist_add (vlist, var, flags)
2904 SHELL_VAR *var;
2910 if (STREQ (var->name, vlist->list[i]->name))
2918 vlist->list[vlist->list_len++] = var;
2986 SHELL_VAR *var;
2995 var = (SHELL_VAR *)tlist->data;
2997 r = func ? (*func) (var) : 1;
2999 vlist_add (vlist, var, flags);
3066 visible_var (var)
3067 SHELL_VAR *var;
3069 return (invisible_p (var) == 0);
3087 visible_and_exported (var)
3088 SHELL_VAR *var;
3090 return (invisible_p (var) == 0 && exported_p (var));
3097 export_environment_candidate (var)
3098 SHELL_VAR *var;
3100 return (exported_p (var) && (invisible_p (var) == 0 || imported_p (var)));
3106 local_and_exported (var)
3107 SHELL_VAR *var;
3109 return (invisible_p (var) == 0 && local_p (var) && var->context == variable_context && exported_p (var));
3125 variable_in_context (var)
3126 SHELL_VAR *var;
3128 return (invisible_p (var) == 0 && local_p (var) && var->context == variable_context);
3165 visible_array_vars (var)
3166 SHELL_VAR *var;
3168 return (invisible_p (var) == 0 && array_p (var));
3216 SHELL_VAR *var;
3218 var = temporary_env ? hash_lookup (name, temporary_env) : (SHELL_VAR *)NULL;
3220 if (var)
3222 FREE (value_cell (var));
3223 var_setvalue (var, savestring (value));
3224 INVALIDATE_EXPORTSTR (var);
3227 return (var);
3245 SHELL_VAR *var, *v;
3248 var = (SHELL_VAR *)data;
3260 v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, 0);
3265 var->attributes &= ~(att_tempvar|att_propagate);
3268 var->attributes |= att_propagate;
3272 v->attributes |= var->attributes;
3274 dispose_variable (var);
3281 SHELL_VAR *var;
3283 var = (SHELL_VAR *)data;
3284 if (tempvar_p (var) && (var->attributes & att_propagate))
3287 dispose_variable (var);
3389 register SHELL_VAR *var;
3394 #define USE_EXPORTSTR (value == var->exportstr)
3396 for (i = 0, list_index = 0; var = vars[i]; i++)
3400 INVALIDATE_EXPORTSTR (var);
3402 if (var->exportstr)
3403 value = var->exportstr;
3404 else if (function_p (var))
3405 value = named_function_string ((char *)NULL, function_cell (var), 0);
3407 else if (array_p (var))
3409 value = array_to_assignment_string (array_cell (var));
3413 else if (assoc_p (var))
3415 value = assoc_to_assignment_string (assoc_cell (var));
3421 value = value_cell (var);
3428 : mk_env_string (var->name, value);
3431 SAVE_EXPORTSTR (var, list[list_index]);
3438 if (array_p (var) || assoc_p (var))
3566 list of var contexts whose head is shell_variables
3750 set_context (var)
3751 SHELL_VAR *var;
3753 return (var->context = variable_context);
3786 SHELL_VAR *var, *v;
3788 var = (SHELL_VAR *)data;
3790 if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate)))
3793 v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0);
3795 var->attributes &= ~(att_tempvar|att_propagate);
3798 v->attributes |= var->attributes;
3801 stupidly_hack_special_variables (var->name); /* XXX */
3803 dispose_variable (var);
3868 SHELL_VAR *var, *v;
3870 var = (SHELL_VAR *)data;
3872 /* If a temp var had its export attribute set, or it's marked to be
3877 if (exported_p (var) || (var->attributes & att_propagate))
3879 if (tempvar_p (var) && exported_p (var) && (var->attributes & att_propagate))
3882 var->attributes &= ~att_tempvar; /* XXX */
3883 v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0);
3885 var->attributes &= ~att_propagate;
3886 v->attributes |= var->attributes;
3889 stupidly_hack_special_variables (var->name); /* XXX */
3891 dispose_variable (var);