include/env: minor fixes and clean ups
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
64ffc95b0f
commit
05d8868d86
|
@ -2,14 +2,20 @@
|
|||
#define UTIL_LINUX_ENV_H
|
||||
|
||||
#include "c.h"
|
||||
#include "nls.h"
|
||||
|
||||
extern void sanitize_env(void);
|
||||
extern char *safe_getenv(const char *arg);
|
||||
|
||||
|
||||
#ifndef XSETENV_EXIT_CODE
|
||||
# define XSETENV_EXIT_CODE EXIT_FAILURE
|
||||
#endif
|
||||
|
||||
static inline void xsetenv(char const *name, char const *val, int overwrite)
|
||||
{
|
||||
if (setenv(name, val, overwrite) != 0)
|
||||
err(EXIT_FAILURE, _("failed to set the %s environment variable"), name);
|
||||
err(XSETENV_EXIT_CODE, _("failed to set the %s environment variable"), name);
|
||||
}
|
||||
|
||||
#endif /* UTIL_LINUX_ENV_H */
|
||||
|
|
|
@ -1047,13 +1047,14 @@ static void init_environ(struct login_context *cxt)
|
|||
xsetenv("TERM", termenv ? termenv : "dumb", 1);
|
||||
free(termenv);
|
||||
|
||||
if (pwd->pw_uid)
|
||||
if (pwd->pw_uid) {
|
||||
if (logindefs_setenv("PATH", "ENV_PATH", _PATH_DEFPATH) != 0)
|
||||
err(EXIT_FAILURE, _("failed to set the %s environment variable"), "PATH");
|
||||
|
||||
else if (logindefs_setenv("PATH", "ENV_ROOTPATH", NULL) != 0)
|
||||
if (logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT) != 0)
|
||||
} else if (logindefs_setenv("PATH", "ENV_ROOTPATH", NULL) != 0 &&
|
||||
logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT) != 0) {
|
||||
err(EXIT_FAILURE, _("failed to set the %s environment variable"), "PATH");
|
||||
}
|
||||
|
||||
/* mailx will give a funny error msg if you forget this one */
|
||||
len = snprintf(tmp, sizeof(tmp), "%s/%s", _PATH_MAILDIR, pwd->pw_name);
|
||||
|
|
Loading…
Reference in New Issue