MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / importIMFFields

Method importIMFFields

src/core/abstract/MCMessageHeader.cpp:389–538  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

387}
388
389void MessageHeader::importIMFFields(struct mailimf_fields * fields)
390{
391 struct mailimf_single_fields single_fields;
392
393 mailimf_single_fields_init(&single_fields, fields);
394
395 /* date */
396
397 if (single_fields.fld_orig_date != NULL) {
398 time_t timestamp;
399 timestamp = timestampFromDate(single_fields.fld_orig_date->dt_date_time);
400 setDate(timestamp);
401 setReceivedDate(timestamp);
402 //MCLog("%lu %lu", (unsigned long) timestamp, date());
403 }
404
405 /* subject */
406 if (single_fields.fld_subject != NULL) {
407 char * subject;
408
409 subject = single_fields.fld_subject->sbj_value;
410 setSubject(String::stringByDecodingMIMEHeaderValue(subject));
411 }
412
413 /* sender */
414 if (single_fields.fld_sender != NULL) {
415 struct mailimf_mailbox * mb;
416 Address * address;
417
418 mb = single_fields.fld_sender->snd_mb;
419 if (mb != NULL) {
420 address = Address::addressWithIMFMailbox(mb);
421 setSender(address);
422 }
423 }
424
425 /* from */
426 if (single_fields.fld_from != NULL) {
427 struct mailimf_mailbox_list * mb_list;
428 Array * addresses;
429
430 mb_list = single_fields.fld_from->frm_mb_list;
431 addresses = lep_address_list_from_lep_mailbox(mb_list);
432 if (addresses->count() > 0) {
433 setFrom((Address *) (addresses->objectAtIndex(0)));
434 }
435 }
436
437 /* replyto */
438 if (single_fields.fld_reply_to != NULL) {
439 struct mailimf_address_list * addr_list;
440 Array * addresses;
441
442 addr_list = single_fields.fld_reply_to->rt_addr_list;
443 addresses = lep_address_list_from_lep_addr(addr_list);
444 setReplyTo(addresses);
445 }
446

Callers 3

setBytesMethod · 0.80

Calls 5

msg_id_to_string_arrayFunction · 0.85
objectAtIndexMethod · 0.80
countMethod · 0.45

Tested by

no test coverage detected