deluser: the same code, but a bit less obfuscated.

This commit is contained in:
Denis Vlasenko 2006-11-27 01:04:23 +00:00
parent c9bb67787a
commit a7b2c41e03

View File

@ -34,28 +34,29 @@ static void del_line_matching(const char *login, const char *filename)
}
}
if (!found) {
bb_error_msg("can't find '%s' in '%s'", login, filename);
if (!ENABLE_FEATURE_CLEAN_UP) return;
goto clean_up;
}
if (ENABLE_FEATURE_CLEAN_UP)
if (!ENABLE_FEATURE_CLEAN_UP) {
if (!found) {
bb_error_msg("can't find '%s' in '%s'", login, filename);
return;
}
passwd = fopen_or_warn(filename, "w");
if (passwd)
while ((line = llist_pop(&plist)))
fputs(line, passwd);
} else {
if (!found) {
bb_error_msg("can't find '%s' in '%s'", login, filename);
goto clean_up;
}
fclose(passwd);
passwd = fopen_or_warn(filename, "w");
if (passwd) {
if (ENABLE_FEATURE_CLEAN_UP) {
passwd = fopen_or_warn(filename, "w");
if (passwd) {
clean_up:
while ((line = llist_pop(&plist))) {
if (found) fputs(line, passwd);
free(line);
}
fclose(passwd);
} else {
/* found != 0 here, no need to check */
while ((line = llist_pop(&plist)))
fputs(line, passwd);
}
}
}