X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsysusers%2Fsysusers.c;h=647eb577a602671d13fd22426bbbba9d0d23f7ec;hb=6ed62be0b15ac92d9687cff93c63d7b06d11b9f0;hp=3a56b6b482a4aeae9f44c8429cb2818af5f0e58e;hpb=f647962d64e844689f3e2acfce6102fc47e76df2;p=elogind.git diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index 3a56b6b48..647eb577a 100644 --- a/src/sysusers/sysusers.c +++ b/src/sysusers/sysusers.c @@ -76,7 +76,7 @@ static Hashmap *members = NULL; static Hashmap *database_uid = NULL, *database_user = NULL; static Hashmap *database_gid = NULL, *database_group = NULL; -static uid_t search_uid = (uid_t) -1; +static uid_t search_uid = UID_INVALID; static UidRange *uid_range = NULL; static unsigned n_uid_range = 0; @@ -226,15 +226,15 @@ static int make_backup(const char *target, const char *x) { /* Copy over the access mask */ if (fchmod(fileno(dst), st.st_mode & 07777) < 0) - log_warning("Failed to change mode on %s: %m", backup); + log_warning_errno(errno, "Failed to change mode on %s: %m", backup); if (fchown(fileno(dst), st.st_uid, st.st_gid)< 0) - log_warning("Failed to change ownership of %s: %m", backup); + log_warning_errno(errno, "Failed to change ownership of %s: %m", backup); ts[0] = st.st_atim; ts[1] = st.st_mtim; if (futimens(fileno(dst), ts) < 0) - log_warning("Failed to fix access and modification time of %s: %m", backup); + log_warning_errno(errno, "Failed to fix access and modification time of %s: %m", backup); if (rename(temp, backup) < 0) goto fail; @@ -898,10 +898,8 @@ static int add_user(Item *i) { i->description = strdup(p->pw_gecos); return 0; } - if (!IN_SET(errno, 0, ENOENT)) { - log_error("Failed to check if user %s already exists: %m", i->name); - return -errno; - } + if (!IN_SET(errno, 0, ENOENT)) + return log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name); /* And shadow too, just to be sure */ errno = 0; @@ -910,10 +908,8 @@ static int add_user(Item *i) { log_error("User %s already exists in shadow database, but not in user database.", i->name); return -EBADMSG; } - if (!IN_SET(errno, 0, ENOENT)) { - log_error("Failed to check if user %s already exists in shadow database: %m", i->name); - return -errno; - } + if (!IN_SET(errno, 0, ENOENT)) + return log_error_errno(errno, "Failed to check if user %s already exists in shadow database: %m", i->name); } /* Try to use the suggested numeric uid */ @@ -1056,10 +1052,8 @@ static int add_group(Item *i) { i->gid_set = true; return 0; } - if (!IN_SET(errno, 0, ENOENT)) { - log_error("Failed to check if group %s already exists: %m", i->name); - return -errno; - } + if (!IN_SET(errno, 0, ENOENT)) + return log_error_errno(errno, "Failed to check if group %s already exists: %m", i->name); } /* Try to use the suggested numeric gid */ @@ -1709,8 +1703,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { if (ignore_enoent && r == -ENOENT) return 0; - log_error_errno(r, "Failed to open '%s', ignoring: %m", fn); - return r; + return log_error_errno(r, "Failed to open '%s', ignoring: %m", fn); } f = rf; @@ -1732,7 +1725,7 @@ static int read_config_file(const char *fn, bool ignore_enoent) { } if (ferror(f)) { - log_error("Failed to read from file %s: %m", fn); + log_error_errno(errno, "Failed to read from file %s: %m", fn); if (r == 0) r = -EIO; }