summaryrefslogtreecommitdiffstats
path: root/src/msgmerge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/msgmerge.c')
-rw-r--r--src/msgmerge.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/msgmerge.c b/src/msgmerge.c
index c7b5729..77dd400 100644
--- a/src/msgmerge.c
+++ b/src/msgmerge.c
@@ -367,6 +367,15 @@ merge (fn1, fn2)
/* This is the references file, created by groping the sources with
the xgettext program. */
ref = read_po_file (fn2);
+ /* Add a dummy header entry, if the references file contains none. */
+ if (message_list_search (ref, "") == NULL)
+ {
+ static lex_pos_ty pos = { __FILE__, __LINE__ };
+ message_ty *refmsg = message_alloc ("", NULL);
+
+ message_variant_append (refmsg, MESSAGE_DOMAIN_DEFAULT, "", 1, &pos);
+ message_list_prepend (ref, refmsg);
+ }
result = message_list_alloc ();
@@ -401,6 +410,10 @@ merge (fn1, fn2)
continue;
}
+ /* Special treatment for the header entry. */
+ if (refmsg->msgid[0] == '\0')
+ continue;
+
/* If the message was not defined at all, try to find a very
similar message, it could be a typo, or the suggestion may
help. */