i_fatal("putenv(%s) failed: %m", env);
}
+void env_put_array(const char *const *envs)
+{
+ for (unsigned int i = 0; envs[i] != NULL; i++) {
+ i_assert(strchr(envs[i], '=') != NULL);
+ env_put(envs[i]);
+ }
+}
+
void env_remove(const char *name)
{
#ifdef HAVE_UNSETENV
void env_backup_restore(struct env_backup *env)
{
- unsigned int i;
-
env_clean();
- for (i = 0; env->strings[i] != NULL; i++)
- env_put(env->strings[i]);
+ env_put_array(env->strings);
}
void env_backup_free(struct env_backup **_env)
/* Add new environment variable. Wrapper to putenv(). Note that calls to this
function allocates memory which isn't free'd until env_clean() is called. */
void env_put(const char *env);
+/* env_put() NULL-terminated array of name=value strings */
+void env_put_array(const char *const *envs);
/* Remove a single environment. */
void env_remove(const char *name);
/* Clear all environment variables. */