Esempio n. 1
0
File: env.c Progetto: donaghy1/slurm
static int _env_array_update(char ***array_ptr, const char *name,
			     const char *value, bool over_write)
{
	char **ep = NULL;
	char *str = NULL;

	if (array_ptr == NULL)
		return 0;

	if (*array_ptr == NULL)
		*array_ptr = env_array_create();

	ep = _find_name_in_env(*array_ptr, name);
	if (*ep != NULL) {
		if (!over_write)
			return 0;
		xfree (*ep);
	} else {
		ep = _extend_env(array_ptr);
	}

	xstrfmtcat(str, "%s=%s", name, value);
	*ep = str;

	return 1;
}
Esempio n. 2
0
static int _env_append (char ***envp, const char *name, const char *val)
{
    char *entry = NULL;
    char **ep;

    if (val == NULL)
        val = "";

    xstrfmtcat (entry, "%s=%s", name, val);

    if (entry == NULL)
        return (-1);

    ep = _extend_env (envp);
    *ep = entry;

    return (0);
}