diff options
author | Kay Sievers <kay@vrfy.org> | 2014-06-13 03:26:41 +0200 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2014-06-13 03:28:54 +0200 |
commit | c1b6b04f0e90bbbce589b40db7c58ae2a64976eb (patch) | |
tree | 2e577589f66c342ce41b7cd93c33525317d6b207 /src/sysusers/sysusers.c | |
parent | f268f57f6344d3a2ccf447352ff3ed1313c4a199 (diff) |
sysusers: do not set todo to create a user when we only need a group
Diffstat (limited to 'src/sysusers/sysusers.c')
-rw-r--r-- | src/sysusers/sysusers.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c index 53ff9509d8..514e77e447 100644 --- a/src/sysusers/sysusers.c +++ b/src/sysusers/sysusers.c @@ -53,7 +53,8 @@ typedef struct Item { bool gid_set:1; bool uid_set:1; - bool todo:1; + bool todo_user:1; + bool todo_group:1; } Item; static char *arg_root = NULL; @@ -279,7 +280,7 @@ static int write_files(void) { * duplicate entries. */ i = hashmap_get(groups, gr->gr_name); - if (i && i->todo) { + if (i && i->todo_group) { r = -EEXIST; goto finish; } @@ -345,7 +346,7 @@ static int write_files(void) { while ((pw = fgetpwent(original))) { i = hashmap_get(users, pw->pw_name); - if (i && i->todo) { + if (i && i->todo_user) { r = -EEXIST; goto finish; } @@ -573,7 +574,7 @@ static int add_user(Item *i) { z = hashmap_get(database_user, i->name); if (z) { log_debug("User %s already exists.", i->name); - i->uid = PTR_TO_GID(z); + i->uid = PTR_TO_UID(z); i->uid_set = true; return 0; } @@ -691,7 +692,7 @@ static int add_user(Item *i) { if (r < 0) return log_oom(); - i->todo = true; + i->todo_user = true; log_info("Creating user %s (%s) with uid " UID_FMT " and gid " GID_FMT ".", i->name, strna(i->description), i->uid, i->gid); return 0; @@ -844,7 +845,7 @@ static int add_group(Item *i) { if (r < 0) return log_oom(); - i->todo = true; + i->todo_group = true; log_info("Creating group %s with gid " GID_FMT ".", i->name, i->gid); return 0; |