|
|
@ -130,6 +130,9 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
|
|
|
|
iconv_t ic = (iconv_t)-1;
|
|
|
|
iconv_t ic = (iconv_t)-1;
|
|
|
|
char *srcenc = 0;
|
|
|
|
char *srcenc = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *startdst = dst;
|
|
|
|
|
|
|
|
size_t startdlen = dlen;
|
|
|
|
|
|
|
|
|
|
|
|
char *b = src;
|
|
|
|
char *b = src;
|
|
|
|
|
|
|
|
|
|
|
|
// XXX use memmem
|
|
|
|
// XXX use memmem
|
|
|
@ -233,9 +236,6 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (memchr(dst, 0, dlen))
|
|
|
|
|
|
|
|
goto nocode;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while (!partial && declen && dlen) {
|
|
|
|
while (!partial && declen && dlen) {
|
|
|
|
*dst++ = *dec++;
|
|
|
|
*dst++ = *dec++;
|
|
|
|
declen--;
|
|
|
|
declen--;
|
|
|
@ -252,6 +252,12 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
|
|
|
|
dlen--;
|
|
|
|
dlen--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (memchr(startdst, 0, dst - startdst)) {
|
|
|
|
|
|
|
|
dst = startdst;
|
|
|
|
|
|
|
|
dlen = startdlen;
|
|
|
|
|
|
|
|
goto nocodeok;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
*dst = 0;
|
|
|
|
*dst = 0;
|
|
|
|
|
|
|
|
|
|
|
|
if (ic != (iconv_t)-1)
|
|
|
|
if (ic != (iconv_t)-1)
|
|
|
|