summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/mime
authorzautrix <zautrix>2004-09-01 10:23:29 (UTC)
committer zautrix <zautrix>2004-09-01 10:23:29 (UTC)
commit6cefbdc9c8f3f3001373f10715361e2740c45395 (patch) (unidiff)
treecb2c36f57620e698913c27ca4ebe59e4a7c9d46e /kmicromail/libetpan/mime
parentb9257cb225cd29bab5d96fcdaf557926603ee587 (diff)
downloadkdepimpi-6cefbdc9c8f3f3001373f10715361e2740c45395.zip
kdepimpi-6cefbdc9c8f3f3001373f10715361e2740c45395.tar.gz
kdepimpi-6cefbdc9c8f3f3001373f10715361e2740c45395.tar.bz2
Mail fixes and libetpan updated
Diffstat (limited to 'kmicromail/libetpan/mime') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/libetpan/mime/mailmime_decode.c16
-rw-r--r--kmicromail/libetpan/mime/mailmime_write.c2
2 files changed, 14 insertions, 4 deletions
diff --git a/kmicromail/libetpan/mime/mailmime_decode.c b/kmicromail/libetpan/mime/mailmime_decode.c
index 3025dcb..e48ec19 100644
--- a/kmicromail/libetpan/mime/mailmime_decode.c
+++ b/kmicromail/libetpan/mime/mailmime_decode.c
@@ -178,34 +178,44 @@ int mailmime_encoded_phrase_parse(const char * default_fromcode,
178 if (mmap_string_append_c(gphrase, ' ') == NULL) { 178 if (mmap_string_append_c(gphrase, ' ') == NULL) {
179 free(raw_word); 179 free(raw_word);
180 res = MAILIMF_ERROR_MEMORY; 180 res = MAILIMF_ERROR_MEMORY;
181 goto free; 181 goto free;
182 } 182 }
183 } 183 }
184 type = TYPE_WORD; 184 type = TYPE_WORD;
185 185
186 wordutf8 = NULL; 186 wordutf8 = NULL;
187 r = charconv(tocode, default_fromcode, raw_word, 187 r = charconv(tocode, default_fromcode, raw_word,
188 strlen(raw_word), &wordutf8); 188 strlen(raw_word), &wordutf8);
189 189
190 if (wordutf8 != NULL) { 190 switch (r) {
191 if (mmap_string_append(gphrase, wordutf8) == NULL) { 191 case MAIL_CHARCONV_ERROR_MEMORY:
192 free(wordutf8);
193 free(raw_word); 192 free(raw_word);
194 res = MAILIMF_ERROR_MEMORY; 193 res = MAILIMF_ERROR_MEMORY;
195 goto free; 194 goto free;
195
196 case MAIL_CHARCONV_ERROR_UNKNOWN_CHARSET:
197 case MAIL_CHARCONV_ERROR_CONV:
198 free(raw_word);
199 res = MAILIMF_ERROR_PARSE;
200 goto free;
196 } 201 }
197 202
203 if (mmap_string_append(gphrase, wordutf8) == NULL) {
198 free(wordutf8); 204 free(wordutf8);
205 free(raw_word);
206 res = MAILIMF_ERROR_MEMORY;
207 goto free;
199 } 208 }
209
200 free(raw_word); 210 free(raw_word);
201 first = FALSE; 211 first = FALSE;
202 } 212 }
203 else if (r == MAILIMF_ERROR_PARSE) { 213 else if (r == MAILIMF_ERROR_PARSE) {
204 break; 214 break;
205 } 215 }
206 else { 216 else {
207 res = r; 217 res = r;
208 goto free; 218 goto free;
209 } 219 }
210 } 220 }
211 } 221 }
diff --git a/kmicromail/libetpan/mime/mailmime_write.c b/kmicromail/libetpan/mime/mailmime_write.c
index 5c3b1f7..208e3ba 100644
--- a/kmicromail/libetpan/mime/mailmime_write.c
+++ b/kmicromail/libetpan/mime/mailmime_write.c
@@ -432,25 +432,25 @@ mailmime_disposition_param_write(FILE * f, int * col,
432 break; 432 break;
433 433
434 case MAILMIME_DISPOSITION_PARM_MODIFICATION_DATE: 434 case MAILMIME_DISPOSITION_PARM_MODIFICATION_DATE:
435 len = strlen("modification-date=") + 435 len = strlen("modification-date=") +
436 strlen(param->pa_data.pa_modification_date); 436 strlen(param->pa_data.pa_modification_date);
437 break; 437 break;
438 438
439 case MAILMIME_DISPOSITION_PARM_READ_DATE: 439 case MAILMIME_DISPOSITION_PARM_READ_DATE:
440 len = strlen("read-date=") + strlen(param->pa_data.pa_read_date); 440 len = strlen("read-date=") + strlen(param->pa_data.pa_read_date);
441 break; 441 break;
442 442
443 case MAILMIME_DISPOSITION_PARM_SIZE: 443 case MAILMIME_DISPOSITION_PARM_SIZE:
444 snprintf(sizestr, 20, "%u", param->pa_data.pa_size); 444 snprintf(sizestr, 20, "%lu", (unsigned long) param->pa_data.pa_size);
445 len = strlen("size=") + strlen(sizestr); 445 len = strlen("size=") + strlen(sizestr);
446 break; 446 break;
447 447
448 case MAILMIME_DISPOSITION_PARM_PARAMETER: 448 case MAILMIME_DISPOSITION_PARM_PARAMETER:
449 len = strlen(param->pa_data.pa_parameter->pa_name) + 1 + 449 len = strlen(param->pa_data.pa_parameter->pa_name) + 1 +
450 strlen(param->pa_data.pa_parameter->pa_value); 450 strlen(param->pa_data.pa_parameter->pa_value);
451 break; 451 break;
452 452
453 default: 453 default:
454 return MAILIMF_ERROR_INVAL; 454 return MAILIMF_ERROR_INVAL;
455 } 455 }
456 456