|
|
|
@ -130,9 +130,12 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
|
|
|
|
|
iconv_t ic = (iconv_t)-1;
|
|
|
|
|
char *srcenc = 0;
|
|
|
|
|
|
|
|
|
|
char *startdst = dst;
|
|
|
|
|
size_t startdlen = dlen;
|
|
|
|
|
|
|
|
|
|
char *b = src;
|
|
|
|
|
|
|
|
|
|
// use memmem
|
|
|
|
|
// XXX use memmem
|
|
|
|
|
char *s = strstr(src, "=?");
|
|
|
|
|
if (!s)
|
|
|
|
|
goto nocodeok;
|
|
|
|
@ -249,6 +252,12 @@ blaze822_decode_rfc2047(char *dst, char *src, size_t dlen, char *tgtenc)
|
|
|
|
|
dlen--;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (memchr(startdst, 0, dst - startdst)) {
|
|
|
|
|
dst = startdst;
|
|
|
|
|
dlen = startdlen;
|
|
|
|
|
goto nocodeok;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*dst = 0;
|
|
|
|
|
|
|
|
|
|
if (ic != (iconv_t)-1)
|
|
|
|
|