diff options
author | xhe <xw897002528@gmail.com> | 2017-10-04 10:04:02 +0800 |
---|---|---|
committer | xhe <xw897002528@gmail.com> | 2017-10-16 13:00:22 +0800 |
commit | 49b056766f3b77a9909f96df13ba269d75250e21 (patch) | |
tree | 003ca1ca12d7715ed7afdcce815438739f37f362 | |
parent | 092551b242a472ff9618fb21f1b777eccaa3c138 (diff) | |
download | gettext-tiny-49b056766f3b77a9909f96df13ba269d75250e21.tar.gz |
msgfmt: use more 'easy-to-read' variable names
to make the code more clear. as rofl0r said, it's hard to understand
what the code is doing without some 'tips'. now it should be clear
enough that what these vars are for.
-rw-r--r-- | src/msgfmt.c | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/src/msgfmt.c b/src/msgfmt.c index 2dfb3da..26e8c3e 100644 --- a/src/msgfmt.c +++ b/src/msgfmt.c @@ -79,15 +79,15 @@ struct callbackdata { enum passes pass; unsigned off; FILE* out; - unsigned milen1; - unsigned milen2; - unsigned pllen1; - unsigned pllen2; - unsigned ctxtlen; - unsigned mslen1; - unsigned mslen2; - unsigned msc; - unsigned maxlen; + unsigned msgidbuf1_len; + unsigned msgidbuf2_len; + unsigned pluralbuf1_len; + unsigned pluralbuf2_len; + unsigned ctxtbuf_len; + unsigned msgstr1_len; + unsigned msgstr2_len; + unsigned pluralstr_count; + unsigned string_maxlen; char* msgidbuf1; char* msgidbuf2; char* pluralbuf1; @@ -204,85 +204,85 @@ static void error(const char* msg) { } static inline void writemsg(struct callbackdata *d) { - if(d->milen1 != 0) { + if(d->msgidbuf1_len != 0) { if(!d->strlist[d->curr[pe_msgid]].str.off) d->strlist[d->curr[pe_msgid]].str.off=d->stroff[pe_msgid]; - if(d->ctxtlen != 0) { - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgctxtbuf, d->ctxtlen); - d->strlist[d->curr[pe_msgid]].str.len+=d->ctxtlen; - d->stroff[pe_msgid]+=d->ctxtlen; + if(d->ctxtbuf_len != 0) { + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgctxtbuf, d->ctxtbuf_len); + d->strlist[d->curr[pe_msgid]].str.len+=d->ctxtbuf_len; + d->stroff[pe_msgid]+=d->ctxtbuf_len; } - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgidbuf1, d->milen1); - d->stroff[pe_msgid]+=d->milen1; - d->strlist[d->curr[pe_msgid]].str.len+=d->milen1-1; - if(d->pllen1 != 0) { - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->pluralbuf1, d->pllen1); - d->strlist[d->curr[pe_msgid]].str.len+=d->pllen1; - d->stroff[pe_msgid]+=d->pllen1; + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgidbuf1, d->msgidbuf1_len); + d->stroff[pe_msgid]+=d->msgidbuf1_len; + d->strlist[d->curr[pe_msgid]].str.len+=d->msgidbuf1_len-1; + if(d->pluralbuf1_len != 0) { + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->pluralbuf1, d->pluralbuf1_len); + d->strlist[d->curr[pe_msgid]].str.len+=d->pluralbuf1_len; + d->stroff[pe_msgid]+=d->pluralbuf1_len; } d->curr[pe_msgid]++; } - if(d->milen2 != 0) { + if(d->msgidbuf2_len != 0) { if(!d->strlist[d->curr[pe_msgid]].str.off) d->strlist[d->curr[pe_msgid]].str.off=d->stroff[pe_msgid]; - if(d->ctxtlen != 0) { - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgctxtbuf, d->ctxtlen); - d->strlist[d->curr[pe_msgid]].str.len+=d->ctxtlen; - d->stroff[pe_msgid]+=d->ctxtlen; + if(d->ctxtbuf_len != 0) { + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgctxtbuf, d->ctxtbuf_len); + d->strlist[d->curr[pe_msgid]].str.len+=d->ctxtbuf_len; + d->stroff[pe_msgid]+=d->ctxtbuf_len; } - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgidbuf2, d->milen2); - d->stroff[pe_msgid]+=d->milen2; - d->strlist[d->curr[pe_msgid]].str.len+=d->milen2-1; - if(d->pllen2 != 0) { - memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->pluralbuf2, d->pllen2); - d->strlist[d->curr[pe_msgid]].str.len+=d->pllen2; - d->stroff[pe_msgid]+=d->pllen2; + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->msgidbuf2, d->msgidbuf2_len); + d->stroff[pe_msgid]+=d->msgidbuf2_len; + d->strlist[d->curr[pe_msgid]].str.len+=d->msgidbuf2_len-1; + if(d->pluralbuf2_len != 0) { + memcpy(d->strbuffer[pe_msgid] + d->stroff[pe_msgid], d->pluralbuf2, d->pluralbuf2_len); + d->strlist[d->curr[pe_msgid]].str.len+=d->pluralbuf2_len; + d->stroff[pe_msgid]+=d->pluralbuf2_len; } d->curr[pe_msgid]++; } - d->pllen2=d->pllen1=d->ctxtlen=d->milen1=d->milen2=0; + d->pluralbuf2_len=d->pluralbuf1_len=d->ctxtbuf_len=d->msgidbuf1_len=d->msgidbuf2_len=0; } static inline void writestr(struct callbackdata *d, struct po_info *info) { // msgid xx; msgstr ""; is widely happened, it's invalid - if(!d->msc) { - d->len[pe_msgid]-=d->milen1; - d->len[pe_msgid]-=d->milen2; - d->len[pe_plural]-=d->pllen1; - d->len[pe_plural]-=d->pllen2; - d->len[pe_ctxt]-=d->ctxtlen; + if(!d->pluralstr_count) { + d->len[pe_msgid]-=d->msgidbuf1_len; + d->len[pe_msgid]-=d->msgidbuf2_len; + d->len[pe_plural]-=d->pluralbuf1_len; + d->len[pe_plural]-=d->pluralbuf2_len; + d->len[pe_ctxt]-=d->ctxtbuf_len; d->len[pe_msgstr]--; d->num[pe_msgid]--; d->num[pe_msgstr]--; - d->pllen2=d->pllen1=d->ctxtlen=d->milen1=d->milen2=d->mslen1=d->mslen2=d->msc=0; + d->pluralbuf2_len=d->pluralbuf1_len=d->ctxtbuf_len=d->msgidbuf1_len=d->msgidbuf2_len=d->msgstr1_len=d->msgstr2_len=d->pluralstr_count=0; return; } - if(d->msc && d->msc <= info->nplurals) { + if(d->pluralstr_count && d->pluralstr_count <= info->nplurals) { writemsg(d); // plural <= nplurals is allowed - d->translist[d->curr[pe_msgstr]].len=d->mslen1-1; + d->translist[d->curr[pe_msgstr]].len=d->msgstr1_len-1; d->translist[d->curr[pe_msgstr]].off=d->stroff[pe_msgstr]; d->strlist[d->curr[pe_msgstr]].trans = &d->translist[d->curr[pe_msgstr]]; - memcpy(d->strbuffer[pe_msgstr] + d->stroff[pe_msgstr], d->msgstrbuf1, d->mslen1); - d->stroff[pe_msgstr]+=d->mslen1; + memcpy(d->strbuffer[pe_msgstr] + d->stroff[pe_msgstr], d->msgstrbuf1, d->msgstr1_len); + d->stroff[pe_msgstr]+=d->msgstr1_len; d->curr[pe_msgstr]++; - if(d->mslen2) { - d->translist[d->curr[pe_msgstr]].len=d->mslen2-1; + if(d->msgstr2_len) { + d->translist[d->curr[pe_msgstr]].len=d->msgstr2_len-1; d->translist[d->curr[pe_msgstr]].off=d->stroff[pe_msgstr]; d->strlist[d->curr[pe_msgstr]].trans = &d->translist[d->curr[pe_msgstr]]; - memcpy(d->strbuffer[pe_msgstr] + d->stroff[pe_msgstr], d->msgstrbuf2, d->mslen2); - d->stroff[pe_msgstr]+=d->mslen2; + memcpy(d->strbuffer[pe_msgstr] + d->stroff[pe_msgstr], d->msgstrbuf2, d->msgstr2_len); + d->stroff[pe_msgstr]+=d->msgstr2_len; d->curr[pe_msgstr]++; } - d->mslen1=d->mslen2=d->msc=0; + d->msgstr1_len=d->msgstr2_len=d->pluralstr_count=0; } } @@ -309,50 +309,50 @@ int process_line_callback(struct po_info* info, void* user) { d->priv_len = len; d->len[info->type] += len +1; - if(len+1 > d->maxlen) - d->maxlen = len+1; + if(len+1 > d->string_maxlen) + d->string_maxlen = len+1; break; case pass_second: sysdeps = sysdep_transform(info->text, info->textlen, &len, &count, 0); for(i=0;i<count;i++) { l = strlen(sysdeps[i]); - assert(l+1 <= d->maxlen); + assert(l+1 <= d->string_maxlen); if(info->type == pe_msgid) { - if(i==0 && d->milen1) + if(i==0 && d->msgidbuf1_len) writestr(d, info); // just copy, it's written down when writemsg() if(i==0) { memcpy(d->msgidbuf1, sysdeps[i], l+1); - d->milen1 = l+1; + d->msgidbuf1_len = l+1; } else { memcpy(d->msgidbuf2, sysdeps[i], l+1); - d->milen2 = l+1; + d->msgidbuf2_len = l+1; } } else if(info->type == pe_plural) { if(i==0) { memcpy(d->pluralbuf1, sysdeps[i], l+1); - d->pllen1 = l+1; + d->pluralbuf1_len = l+1; } else { memcpy(d->pluralbuf2, sysdeps[i], l+1); - d->pllen2 = l+1; + d->pluralbuf2_len = l+1; } } else if(info->type == pe_ctxt) { writestr(d, info); - d->ctxtlen = l+1; + d->ctxtbuf_len = l+1; memcpy(d->msgctxtbuf, sysdeps[i], l); d->msgctxtbuf[l] = 0x4;//EOT } else { // just copy, it's written down when writestr() if(l) { if(i==0) { - memcpy(&d->msgstrbuf1[d->mslen1], sysdeps[i], l+1); - d->mslen1 += l+1; - d->msc++; + memcpy(&d->msgstrbuf1[d->msgstr1_len], sysdeps[i], l+1); + d->msgstr1_len += l+1; + d->pluralstr_count++; } else { // sysdeps exist - memcpy(&d->msgstrbuf2[d->mslen2], sysdeps[i], l+1); - d->mslen2 += l+1; + memcpy(&d->msgstrbuf2[d->msgstr2_len], sysdeps[i], l+1); + d->msgstr2_len += l+1; } } } @@ -386,15 +386,15 @@ int process(FILE *in, FILE *out) { .off = 0, .out = out, .pass = pass_first, - .ctxtlen = 0, - .pllen1 = 0, - .pllen2 = 0, - .milen1 = 0, - .milen2 = 0, - .mslen1 = 0, - .mslen2 = 0, - .msc = 0, - .maxlen = 0, + .ctxtbuf_len = 0, + .pluralbuf1_len = 0, + .pluralbuf2_len = 0, + .msgidbuf1_len = 0, + .msgidbuf2_len = 0, + .msgstr1_len = 0, + .msgstr2_len = 0, + .pluralstr_count = 0, + .string_maxlen = 0, }; struct po_parser pb, *p = &pb; @@ -413,13 +413,13 @@ int process(FILE *in, FILE *out) { return 0; } - d.msgidbuf1 = calloc(d.maxlen*5+2*d.maxlen*p->info.nplurals, 1); - d.msgidbuf2 = d.msgidbuf1 + d.maxlen; - d.pluralbuf1 = d.msgidbuf2 + d.maxlen; - d.pluralbuf2 = d.pluralbuf1 + d.maxlen; - d.msgctxtbuf = d.pluralbuf2 + d.maxlen; - d.msgstrbuf1 = d.msgctxtbuf + d.maxlen; - d.msgstrbuf2 = d.msgstrbuf1 + d.maxlen*p->info.nplurals; + d.msgidbuf1 = calloc(d.string_maxlen*5+2*d.string_maxlen*p->info.nplurals, 1); + d.msgidbuf2 = d.msgidbuf1 + d.string_maxlen; + d.pluralbuf1 = d.msgidbuf2 + d.string_maxlen; + d.pluralbuf2 = d.pluralbuf1 + d.string_maxlen; + d.msgctxtbuf = d.pluralbuf2 + d.string_maxlen; + d.msgstrbuf1 = d.msgctxtbuf + d.string_maxlen; + d.msgstrbuf2 = d.msgstrbuf1 + d.string_maxlen*p->info.nplurals; d.strlist = calloc(d.num[pe_msgid] * sizeof(struct strmap), 1); d.translist = calloc(d.num[pe_msgstr] * sizeof(struct strtbl), 1); |