Beispiel #1
0
char *
expand_path(const char path[])
{
	char *const expanded_envvars = expand_envvars(path, 0);
	/* replace_tilde() frees memory pointed to by expand_envvars. */
	return replace_tilde(expanded_envvars);
}
Beispiel #2
0
/* Performs custom pattern expansion.  Allocate new expanded string. */
static char *
pattern_expand_hook(const char pattern[])
{
	char *const no_tilde = expand_tilde(pattern);
	char *const expanded_pattern = expand_envvars(no_tilde, 0);
	free(no_tilde);

	return expanded_pattern;
}
Beispiel #3
0
/* Returns string after expanding expression. */
static var_t
expand_builtin(const call_info_t *call_info)
{
	var_t result;
	var_val_t var_val;
	char *str_val;
	char *env_expanded_str_val;

	str_val = var_to_string(call_info->argv[0]);
	env_expanded_str_val = expand_envvars(str_val, 0);
	var_val.string = expand_macros(env_expanded_str_val, NULL, NULL, 0);
	free(env_expanded_str_val);
	free(str_val);

	result = var_new(VTYPE_STRING, var_val);
	free(var_val.string);

	return result;
}
Beispiel #4
0
char *
cmds_expand_envvars(const char str[])
{
	return expand_envvars(str, 1);
}