projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
check return value of m_getfld2 befor using the field
[mmh]
/
sbr
/
fmt_rfc2047.c
diff --git
a/sbr/fmt_rfc2047.c
b/sbr/fmt_rfc2047.c
index
5bc7850
..
faa3cc2
100644
(file)
--- a/
sbr/fmt_rfc2047.c
+++ b/
sbr/fmt_rfc2047.c
@@
-38,7
+38,7
@@
static signed char index_64[128] = {
#define char64(c) (((unsigned char) (c) > 127) ? -1 : index_64[(unsigned char) (c)])
static int
#define char64(c) (((unsigned char) (c) > 127) ? -1 : index_64[(unsigned char) (c)])
static int
-unqp (unsigned char byte1, unsigned char byte2)
+unqp(unsigned char byte1, unsigned char byte2)
{
if (hexindex[byte1] == -1 || hexindex[byte2] == -1)
return -1;
{
if (hexindex[byte1] == -1 || hexindex[byte2] == -1)
return -1;
@@
-57,7
+57,7
@@
unqp (unsigned char byte1, unsigned char byte2)
#define ADDCHR(C) do { *q++ = (C); dstlen--; if (!dstlen) goto buffull; } while (0)
int
#define ADDCHR(C) do { *q++ = (C); dstlen--; if (!dstlen) goto buffull; } while (0)
int
-decode_rfc2047 (char *str, char *dst, size_t dstlen)
+decode_rfc2047(char *str, char *dst, size_t dstlen)
{
char *p, *q, *pp;
char *startofmime, *endofmime;
{
char *p, *q, *pp;
char *startofmime, *endofmime;
@@
-81,7
+81,7
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
** Do a quick and dirty check for the '=' character.
** This should quickly eliminate many cases.
*/
** Do a quick and dirty check for the '=' character.
** This should quickly eliminate many cases.
*/
- if (!strchr (str, '='))
+ if (!strchr(str, '='))
return 0;
for (p = str, q = dst; *p; p++) {
return 0;
for (p = str, q = dst; *p; p++) {
@@
-125,22
+125,25
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
if (!*pp)
continue;
if (!*pp)
continue;
+ *pp = '\0';
/* Check if character set can be handled natively */
/* Check if character set can be handled natively */
- if (!check_charset(startofmime, pp - startofmime)) {
+ if (!is_native_charset(startofmime)) {
#ifdef HAVE_ICONV
/* .. it can't. We'll use iconv then. */
#ifdef HAVE_ICONV
/* .. it can't. We'll use iconv then. */
- *pp = '\0';
cd = iconv_open(get_charset(), startofmime);
fromutf8 = !mh_strcasecmp(startofmime, "UTF-8");
*pp = '?';
cd = iconv_open(get_charset(), startofmime);
fromutf8 = !mh_strcasecmp(startofmime, "UTF-8");
*pp = '?';
- if (cd == (iconv_t)-1) continue;
+ if (cd == (iconv_t)-1)
+ continue;
use_iconv = 1;
#else
use_iconv = 1;
#else
+ *pp = '?';
continue;
#endif
}
continue;
#endif
}
+ *pp = '?';
startofmime = pp + 1;
/* Check for valid encoding type */
startofmime = pp + 1;
/* Check for valid encoding type */
@@
-222,7
+225,7
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
if (quoted_printable) {
for (pp = startofmime; pp < endofmime; pp++) {
if (*pp == '=') {
if (quoted_printable) {
for (pp = startofmime; pp < endofmime; pp++) {
if (*pp == '=') {
- c = unqp (pp[1], pp[2]);
+ c = unqp(pp[1], pp[2]);
if (c == -1)
continue;
if (c != 0)
if (c == -1)
continue;
if (c != 0)
@@
-243,14
+246,16
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
while (pp < endofmime) {
/* 6 + 2 bits */
while ((pp < endofmime) &&
while (pp < endofmime) {
/* 6 + 2 bits */
while ((pp < endofmime) &&
- ((c1 = char64(*pp)) == -1)) {
+ ((c1 = char64(*pp))
+ == -1)) {
pp++;
}
if (pp < endofmime) {
pp++;
}
while ((pp < endofmime) &&
pp++;
}
if (pp < endofmime) {
pp++;
}
while ((pp < endofmime) &&
- ((c2 = char64(*pp)) == -1)) {
+ ((c2 = char64(*pp))
+ == -1)) {
pp++;
}
if (pp < endofmime && c1 != -1 && c2 != -1) {
pp++;
}
if (pp < endofmime && c1 != -1 && c2 != -1) {
@@
-259,7
+264,8
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
}
/* 4 + 4 bits */
while ((pp < endofmime) &&
}
/* 4 + 4 bits */
while ((pp < endofmime) &&
- ((c3 = char64(*pp)) == -1)) {
+ ((c3 = char64(*pp))
+ == -1)) {
pp++;
}
if (pp < endofmime && c2 != -1 && c3 != -1) {
pp++;
}
if (pp < endofmime && c2 != -1 && c3 != -1) {
@@
-268,7
+274,8
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
}
/* 2 + 6 bits */
while ((pp < endofmime) &&
}
/* 2 + 6 bits */
while ((pp < endofmime) &&
- ((c4 = char64(*pp)) == -1)) {
+ ((c4 = char64(*pp))
+ == -1)) {
pp++;
}
if (pp < endofmime && c3 != -1 && c4 != -1) {
pp++;
}
if (pp < endofmime && c3 != -1 && c4 != -1) {
@@
-302,7
+309,7
@@
decode_rfc2047 (char *str, char *dst, size_t dstlen)
** which won't work if either
** encoding was stateful
*/
** which won't work if either
** encoding was stateful
*/
- iconv (cd, 0, 0, &saveq, &savedstlen);
+ iconv(cd, 0, 0, &saveq, &savedstlen);
if (!savedstlen)
break;
*saveq++ = '?';
if (!savedstlen)
break;
*saveq++ = '?';