summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxhe <xw897002528@gmail.com>2018-12-27 19:08:55 +0800
committerrofl0r <retnyg@gmx.net>2019-01-16 02:38:18 +0000
commit3338dee5f46e11936ebadcb41d87a1102ee06bb6 (patch)
tree4fb5773a5e8607786b8514814dbba0a522b85734
parent37625860c85818861bab8f86ed0aeb41bb705fc7 (diff)
downloadgettext-tiny-3338dee5f46e11936ebadcb41d87a1102ee06bb6.tar.gz
msgfmt: do not return the result of remove()
what we want to do is deleting wrong output files. but if remove() is successfully executed, msgfmt will return 0 instead of ret. this badly damaged various cases.
-rw-r--r--src/msgfmt.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/msgfmt.c b/src/msgfmt.c
index b4c3633..b2dad1f 100644
--- a/src/msgfmt.c
+++ b/src/msgfmt.c
@@ -373,8 +373,6 @@ int main(int argc, char**argv) {
if(in != stdin) fclose(in);
if(out != stdout) fclose(out);
- if (ret < 0) {
- return remove(dest);
- }
+ if (ret < 0) remove(dest);
return ret;
}