cmd->flags |= VIR_EXEC_NONBLOCK;
}
+/* Add an environment variable to the cmd->env list. 'env' is a
+ * string like "name=value".
+ */
+static inline void
+virCommandAddEnv(virCommandPtr cmd, char *env)
+{
+ /* Arg plus trailing NULL. */
+ if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
+ VIR_FREE(env);
+ cmd->has_error = ENOMEM;
+ return;
+ }
+
+ cmd->env[cmd->nenv++] = env;
+}
+
/**
* virCommandAddEnvFormat:
* @cmd: the command to modify
}
va_end(list);
- /* Arg plus trailing NULL. */
- if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
- VIR_FREE(env);
- cmd->has_error = ENOMEM;
- return;
- }
-
- cmd->env[cmd->nenv++] = env;
+ virCommandAddEnv(cmd, env);
}
/**
return;
}
- /* env plus trailing NULL */
- if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
- VIR_FREE(env);
- cmd->has_error = ENOMEM;
- return;
- }
-
- cmd->env[cmd->nenv++] = env;
+ virCommandAddEnv(cmd, env);
}
return;
}
- /* env plus trailing NULL. */
- if (virBufferError(buf) ||
- VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
+ if (virBufferError(buf)) {
cmd->has_error = ENOMEM;
virBufferFreeAndReset(buf);
return;
return;
}
- cmd->env[cmd->nenv++] = virBufferContentAndReset(buf);
+ virCommandAddEnv(cmd, virBufferContentAndReset(buf));
}