From b89ffb89a25d4117441078b912cfe149103b758e Mon Sep 17 00:00:00 2001 From: xhe Date: Tue, 7 Nov 2017 13:15:13 +0800 Subject: msgfmt: output to messages.mo by default like GNU I noticed GNU msgfmt did not fail when i did not specific a output file, so i decided to write the output to "messages.mo" like GNU one. --- src/msgfmt.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/msgfmt.c b/src/msgfmt.c index 6ccb56a..cb1e23b 100644 --- a/src/msgfmt.c +++ b/src/msgfmt.c @@ -505,7 +505,6 @@ int main(int argc, char**argv) { FILE *out = NULL; FILE *in = NULL; int expect_in_fn = 1; - int statistics = 0; char* locale = NULL; char* dest = NULL; #define A argv[arg] @@ -532,6 +531,7 @@ int main(int argc, char**argv) { streq(A+2, "check-accelerators") || streq(A+2, "no-hash") || streq(A+2, "verbose") || + streq(A+2, "statistics") || strstarts(A+2, "check-accelerators=") || strstarts(A+2, "resource=") ) { @@ -539,8 +539,6 @@ int main(int argc, char**argv) { locale = dest; } else if((dest = strstarts(A+2, "output-file="))) { set_file(1, dest, &out); - } else if(streq(A+2, "statistics")) { - statistics = 1; } else if(streq(A+2, "version")) { version(); } else if (expect_in_fn) { @@ -592,9 +590,12 @@ int main(int argc, char**argv) { } else return 1; } + if(out == NULL) { + set_file(1, "messages.mo", &out); + } + if(in == NULL || out == NULL) { - if(!statistics) syntax(); - else return 0; + return 1; } int ret = process(in, out); fflush(in); fflush(out); -- cgit v1.2.1