- passwd = bb_wfopen(filename, "a");
- if (passwd == NULL) {
- return 1;
- }
- fseek(passwd, 0, SEEK_END);
-
- /* if (passwd_study(filename, p) == 0) { */
- r = passwd_study(filename, p);
- if (r) {
- if (r == 1)
- bb_error_msg("%s: login already in use", p->pw_name);
- else if (r == 2)
- bb_error_msg("illegal uid or no uids left");
- else if (r == 3)
- bb_error_msg("group name %s already in use", p->pw_name);
- else
- bb_error_msg("generic error.");
- return 1;
+ file = xfopen(bb_path_passwd_file, "a");
+ fseek(file, 0, SEEK_END);
+
+ switch (passwd_study(bb_path_passwd_file, p)) {
+ case 1:
+ bb_error_msg_and_die("%s: login already in use", p->pw_name);
+ case 2:
+ bb_error_msg_and_die("illegal uid or no uids left");
+ case 3:
+ bb_error_msg_and_die("%s: group name already in use", p->pw_name);