projects
/
claws.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2007-01-04 [colin] 2.6.1cvs105
[claws.git]
/
src
/
common
/
quoted-printable.c
diff --git
a/src/common/quoted-printable.c
b/src/common/quoted-printable.c
index 8cce7fd1d3e4c7f72a067ba8bc153e8ba03f5e75..2cebddad359e313b10fb974bb3904efe54f456e4 100644
(file)
--- a/
src/common/quoted-printable.c
+++ b/
src/common/quoted-printable.c
@@
-90,6
+90,8
@@
gint qp_decode_line(gchar *str)
while (*inp != '\0') {
if (*inp == '=') {
while (*inp != '\0') {
if (*inp == '=') {
+ if (inp[1] && inp[2] && inp[1] == '0' && inp[2] == '0')
+ inp += 3;
if (inp[1] && inp[2] &&
get_hex_value((guchar *)outp, inp[1], inp[2])
== TRUE) {
if (inp[1] && inp[2] &&
get_hex_value((guchar *)outp, inp[1], inp[2])
== TRUE) {
@@
-119,6
+121,8
@@
gint qp_decode_const(gchar *out, gint avail, const gchar *str)
while (*inp != '\0' && avail > 0) {
if (*inp == '=') {
while (*inp != '\0' && avail > 0) {
if (*inp == '=') {
+ if (inp[1] && inp[2] && inp[1] == '0' && inp[2] == '0')
+ inp += 3;
if (inp[1] && inp[2] &&
get_hex_value((guchar *)outp, inp[1], inp[2])
== TRUE) {
if (inp[1] && inp[2] &&
get_hex_value((guchar *)outp, inp[1], inp[2])
== TRUE) {
@@
-152,6
+156,8
@@
gint qp_decode_q_encoding(guchar *out, const gchar *in, gint inlen)
while (inp - in < inlen && *inp != '\0') {
if (*inp == '=' && inp + 3 - in <= inlen) {
while (inp - in < inlen && *inp != '\0') {
if (*inp == '=' && inp + 3 - in <= inlen) {
+ if (inp[1] == '0' && inp[2] == '0')
+ inp += 3;
if (get_hex_value(outp, inp[1], inp[2]) == TRUE) {
inp += 3;
} else {
if (get_hex_value(outp, inp[1], inp[2]) == TRUE) {
inp += 3;
} else {