#include "sd-varlink.h"
#include "alloc-util.h"
+#include "env-util.h"
#include "errno-list.h"
#include "errno-util.h"
#include "escape.h"
uint64_t pidfdid;
if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) {
- char spidfdid[DECIMAL_STR_MAX(uint64_t)+1];
- xsprintf(spidfdid, "%" PRIu64, pidfdid);
-
- if (setenv("LISTEN_PIDFDID", spidfdid, /* override= */ true) < 0) {
- log_debug_errno(errno,
- "Failed to set environment variable 'LISTEN_PIDFDID': %m");
+ r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to set environment variable 'LISTEN_PIDFDID': %m");
_exit(EXIT_FAILURE);
}
}
STRV_FOREACH_PAIR(a, b, setenv_list) {
- if (setenv(*a, *b, /* override= */ true) < 0) {
+ if (setenv(*a, *b, /* overwrite= */ true) < 0) {
log_debug_errno(errno, "Failed to set environment variable '%s': %m", *a);
_exit(EXIT_FAILURE);
}
if (r < 0)
return log_error_errno(r, "Failed to fork new worker child: %m");
if (r == 0) {
- char pids[DECIMAL_STR_MAX(pid_t)];
/* Child */
if (m->listen_fd == 3) {
safe_close(m->listen_fd);
}
- xsprintf(pids, PID_FMT, pid);
- if (setenv("LISTEN_PID", pids, 1) < 0) {
- log_error_errno(errno, "Failed to set $LISTEN_PID: %m");
+ r = setenvf("LISTEN_PID", /* overwrite= */ true, PID_FMT, pid);
+ if (r < 0) {
+ log_error_errno(r, "Failed to set $LISTEN_PID: %m");
_exit(EXIT_FAILURE);
}
uint64_t pidfdid;
if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) {
- char pidfdids[DECIMAL_STR_MAX(uint64_t)];
-
- xsprintf(pidfdids, "%" PRIu64, pidfdid);
- if (setenv("LISTEN_PIDFDID", pidfdids, 1) < 0) {
- log_error_errno(errno, "Failed to set $LISTEN_PIDFDID: %m");
+ r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid);
+ if (r < 0) {
+ log_error_errno(r, "Failed to set $LISTEN_PIDFDID: %m");
_exit(EXIT_FAILURE);
}
}
if (r < 0)
return log_error_errno(r, "Failed to fork new worker child: %m");
if (r == 0) {
- char pids[DECIMAL_STR_MAX(pid_t)];
/* Child */
if (m->listen_fd == 3) {
safe_close(m->listen_fd);
}
- xsprintf(pids, PID_FMT, pid);
- if (setenv("LISTEN_PID", pids, 1) < 0) {
- log_error_errno(errno, "Failed to set $LISTEN_PID: %m");
+ r = setenvf("LISTEN_PID", /* overwrite= */ true, PID_FMT, pid);
+ if (r < 0) {
+ log_error_errno(r, "Failed to set $LISTEN_PID: %m");
_exit(EXIT_FAILURE);
}
uint64_t pidfdid;
if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) {
- char pidfdids[DECIMAL_STR_MAX(uint64_t)];
-
- xsprintf(pidfdids, "%" PRIu64, pidfdid);
- if (setenv("LISTEN_PIDFDID", pidfdids, 1) < 0) {
- log_error_errno(errno, "Failed to set $LISTEN_PIDFDID: %m");
+ r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid);
+ if (r < 0) {
+ log_error_errno(r, "Failed to set $LISTEN_PIDFDID: %m");
_exit(EXIT_FAILURE);
}
}