tree-wide: use setenvf() more, where appropriate

This commit is contained in:
Lennart Poettering
2025-10-22 13:36:18 +02:00
parent 8e4f26a23b
commit aea2f059a3
3 changed files with 17 additions and 25 deletions
+5 -7
View File
@@ -9,6 +9,7 @@
#include "sd-varlink.h"
#include "alloc-util.h"
#include "env-util.h"
#include "errno-list.h"
#include "errno-util.h"
#include "escape.h"
@@ -269,18 +270,15 @@ _public_ int sd_varlink_connect_exec(sd_varlink **ret, const char *_command, cha
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);
}
+6 -9
View File
@@ -142,7 +142,6 @@ static int start_one_worker(Manager *m) {
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) {
@@ -160,19 +159,17 @@ static int start_one_worker(Manager *m) {
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);
}
}
+6 -9
View File
@@ -178,7 +178,6 @@ static int start_one_worker(Manager *m) {
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) {
@@ -196,19 +195,17 @@ static int start_one_worker(Manager *m) {
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);
}
}