summaryrefslogtreecommitdiff
path: root/src/msgmerge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/msgmerge.c')
-rw-r--r--src/msgmerge.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/msgmerge.c b/src/msgmerge.c
index 3122ba5..9b7b4fd 100644
--- a/src/msgmerge.c
+++ b/src/msgmerge.c
@@ -158,8 +158,6 @@ int main(int argc, char**argv) {
} else if(streq(A+2, "update")) {
set_update:
update = 1;
- fprintf(stdout, "error: update functionality unimplemented\n");
- exit(update);
} else if(streq(A+2, "help")) syntax();
} else if(streq(A + 1, "o")) {
@@ -192,20 +190,27 @@ int main(int argc, char**argv) {
exit(1);
} else if (streq(A+1, "h")) syntax();
} else if(expect_fn.out) {
+ if(update && streq(A, "/dev/null")) return 0;
set_file(1, A, &files.out);
expect_fn.out = 0;
} else if(expect_fn.compend) {
set_file(1, A, &files.compend);
expect_fn.compend = 0;
} else if(expect_fn.po) {
+ if(update && streq(A, "/dev/null")) return 0;
set_file(0, A, &files.po);
expect_fn.po = 0;
expect_fn.pot = 1;
} else if(expect_fn.pot) {
+ if(update && streq(A, "/dev/null")) return 0;
set_file(0, A, &files.pot);
expect_fn.pot = 0;
}
}
+ if(update) {
+ fprintf(stdout, "error: update functionality unimplemented\n");
+ exit(update);
+ }
if(!files.out || !files.po || !files.pot) syntax();
int ret = process(&files, update, backup);
FILE** filearr = (FILE**) &files;