summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/msgfmt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/msgfmt.c b/src/msgfmt.c
index 65c9fc2..1c6badd 100644
--- a/src/msgfmt.c
+++ b/src/msgfmt.c
@@ -323,6 +323,7 @@ int main(int argc, char**argv) {
FILE *in = NULL;
int expect_out_fn = 0;
int expect_in_fn = 1;
+ int statistics = 0;
char* dest;
#define A argv[arg]
for(; arg < argc; arg++) {
@@ -359,8 +360,7 @@ int main(int argc, char**argv) {
} else if((dest = strstarts(A+2, "output-file="))) {
set_file(1, dest, &out);
} else if(streq(A+2, "statistics")) {
- fprintf(stdout, "No Statistics available.\n");
- return 0;
+ statistics = 1;
} else if(streq(A+2, "version")) {
version();
} else if(streq(A+2, "help")) syntax();
@@ -388,7 +388,10 @@ int main(int argc, char**argv) {
set_file(0, A, &in);
}
}
- if(in == NULL || out == NULL) syntax();
+ if(in == NULL || out == NULL) {
+ if(!statistics) syntax();
+ else return 0;
+ }
int ret = process(in, out);
fflush(in); fflush(out);
if(in != stdin) fclose(in);