Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Move B and Q decoding into check header.
author
Eric W. Biederman
<ebiederm@xmission.com>
Tue, 23 May 2006 19:45:37 +0000
(13:45 -0600)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 23 May 2006 21:01:59 +0000
(14:01 -0700)
B and Q decoding is not appropriate for in body headers, so move
it up to where we explicitly know we have a real email header.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
mailinfo.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
f8128cf
)
diff --git
a/mailinfo.c
b/mailinfo.c
index 83a2986e7edc7e7db8878eaafe5a285e3a66e78c..bee7b202cfc5d8c1a2b7e642cf62539973ea514d 100644
(file)
--- a/
mailinfo.c
+++ b/
mailinfo.c
@@
-324,6
+324,7
@@
static void cleanup_space(char *buf)
}
}
}
}
+static void decode_header_bq(char *it);
typedef int (*header_fn_t)(char *);
struct header_def {
const char *name;
typedef int (*header_fn_t)(char *);
struct header_def {
const char *name;
@@
-343,6
+344,10
@@
static void check_header(char *line, struct header_def *header)
int len = header[i].namelen;
if (!strncasecmp(line, header[i].name, len) &&
line[len] == ':' && isspace(line[len + 1])) {
int len = header[i].namelen;
if (!strncasecmp(line, header[i].name, len) &&
line[len] == ':' && isspace(line[len + 1])) {
+ /* Unwrap inline B and Q encoding, and optionally
+ * normalize the meta information to utf8.
+ */
+ decode_header_bq(line + len + 2);
header[i].func(line + len + 2);
break;
}
header[i].func(line + len + 2);
break;
}
@@
-597,13
+602,6
@@
static void handle_info(void)
cleanup_space(email);
cleanup_space(sub);
cleanup_space(email);
cleanup_space(sub);
- /* Unwrap inline B and Q encoding, and optionally
- * normalize the meta information to utf8.
- */
- decode_header_bq(name);
- decode_header_bq(date);
- decode_header_bq(email);
- decode_header_bq(sub);
printf("Author: %s\nEmail: %s\nSubject: %s\nDate: %s\n\n",
name, email, sub, date);
}
printf("Author: %s\nEmail: %s\nSubject: %s\nDate: %s\n\n",
name, email, sub, date);
}