diff options
author | xhe <xw897002528@gmail.com> | 2018-12-04 00:26:01 +0800 |
---|---|---|
committer | rofl0r <retnyg@gmx.net> | 2019-01-16 02:38:18 +0000 |
commit | 1274271a37914875fe4f4ca41d63ed17746c0adf (patch) | |
tree | 714dd5724a5d9c3ab7fa53a55c745449135c1faa /src | |
parent | 5606beeb455961ca1ce5f89595cb738f71d4d253 (diff) | |
download | gettext-tiny-1274271a37914875fe4f4ca41d63ed17746c0adf.tar.gz |
msgmerge: give enough space for escape()
escape will need up to two times larger space.
Diffstat (limited to 'src')
-rw-r--r-- | src/msgmerge.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/msgmerge.c b/src/msgmerge.c index e2be067..39e3b88 100644 --- a/src/msgmerge.c +++ b/src/msgmerge.c @@ -100,6 +100,7 @@ int process(struct fiLes *files, int update, int backup) { char line[8192], conv[32768], *lb; files->stage = ps_size; + files->len = 0; poparser_init(p, conv, sizeof(conv), process_line_callback, files); while((lb = fgets(line, sizeof(line), files->po))) { if ((t = poparser_feed_line(p, lb, strlen(line))) != po_success) @@ -109,6 +110,7 @@ int process(struct fiLes *files, int update, int backup) { free(files->buf); files->stage = ps_parse; + files->len *= 2; files->buf = (char*)malloc(files->len); fseek(files->po, 0, SEEK_SET); |