61 extern char **environ;
70 #define STRING_AND_LENGTH(x, y) (x), (ssize_t) (y)
73 for (cpp = preserve_list; *cpp; cpp++)
74 if ((eq = strchr(*cpp,
'=')) != 0)
78 argv_add(save_list, *cpp, value, (
char *) 0);
90 for (cpp = save_list->
argv; *cpp; cpp += 2)
91 if (setenv(cpp[0], cpp[1], 1))
92 msg_fatal(
"setenv(%s, %s): %m", cpp[0], cpp[1]);
112 for (cpp = preserve_list; *cpp; cpp++)
113 if ((eq = strchr(*cpp,
'=')) != 0)
120 for (cpp = save_list->
argv; *cpp; cpp += 2)
121 if (setenv(cpp[0], cpp[1], 1))
122 msg_fatal(
"setenv(%s, %s): %m", cpp[0], cpp[1]);
ARGV * argv_free(ARGV *argvp)
void argv_add(ARGV *argvp,...)
ARGV * argv_alloc(ssize_t len)
void clean_env(char **preserve_list)
#define STRING_AND_LENGTH(x, y)
void argv_addn(ARGV *argvp,...)
char * safe_getenv(const char *)
NORETURN msg_fatal(const char *fmt,...)
void update_env(char **preserve_list)