diff --git a/src/files.c b/src/files.c index 752d94ae7639db2ce91aa2c6b1038b4b65d937b5..adbd8e65789187dafd82939f9726c82574b37721 100644 --- a/src/files.c +++ b/src/files.c @@ -1908,11 +1908,12 @@ bool do_writeout(bool exiting) full_filename = get_full_path(openfile->filename); name_exists = (stat((full_answer == NULL) ? answer : full_answer, &st) != -1); - do_warning = (name_exists || - (openfile->filename[0] != '\0' && - strcmp((full_answer == NULL) ? answer : - full_answer, (full_filename == NULL) ? - openfile->filename : full_filename) != 0)); + if (openfile->filename[0] == '\0') + do_warning = name_exists; + else + do_warning = (strcmp((full_answer == NULL) ? + answer : full_answer, (full_filename == NULL) ? + openfile->filename : full_filename) != 0); /* Convert nulls to newlines. answer_len is the * string's real length. */