diff options
Diffstat (limited to 'src/msgmerge.c')
-rw-r--r-- | src/msgmerge.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/msgmerge.c b/src/msgmerge.c index d639c73..2a5e041 100644 --- a/src/msgmerge.c +++ b/src/msgmerge.c @@ -37,36 +37,35 @@ struct fiLes { FILE *pot; FILE *compend; int plural_count; + char convbuf[16384]; enum po_entry prev_type; }; -char convbuf[16384]; /* currently we only output input strings as output strings * i.e. there is no translation lookup at all */ int process_line_callback(struct po_info* info, void* user) { - // escape what is unescaped automatically by lib - memset(convbuf, 0, sizeof(convbuf)); - escape(info->text, convbuf, sizeof(convbuf)); - struct fiLes* file = (struct fiLes*) user; + + // escape what is unescaped automatically by lib + escape(info->text, file->convbuf, sizeof(file->convbuf)); switch (info->type) { case pe_msgid: file->plural_count = 1; - fprintf(file->out, "\nmsgid \"%s\"\n", convbuf); + fprintf(file->out, "\nmsgid \"%s\"\n", file->convbuf); file->prev_type = info->type; break; case pe_ctxt: - fprintf(file->out, "msgctxt \"%s\"\n", convbuf); + fprintf(file->out, "msgctxt \"%s\"\n", file->convbuf); break; case pe_plural: - fprintf(file->out, "msgid_plural \"%s\"\n", convbuf); + fprintf(file->out, "msgid_plural \"%s\"\n", file->convbuf); file->prev_type = info->type; break; case pe_msgstr: if (file->prev_type == pe_plural) { - fprintf(file->out, "msgstr[%d] \"%s\"\n", file->plural_count++, convbuf); + fprintf(file->out, "msgstr[%d] \"%s\"\n", file->plural_count++, file->convbuf); } else { - fprintf(file->out, "msgstr \"%s\"\n", convbuf); + fprintf(file->out, "msgstr \"%s\"\n", file->convbuf); } break; } |