Mercurial > libpst
changeset 315:3e6cdd543857
date sent property is fixed size, so the value is stored directly in the property stream
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 03 Jun 2010 19:09:29 -0700 |
parents | 6bf6b60a9751 |
children | c4537664ff50 |
files | src/msg.cpp |
diffstat | 1 files changed, 14 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/msg.cpp Wed May 26 20:30:35 2010 -0700 +++ b/src/msg.cpp Thu Jun 03 19:09:29 2010 -0700 @@ -123,14 +123,6 @@ } -static void string_property(GsfOutfile *out, property_list &prop, uint32_t tag, FILETIME *contents); -static void string_property(GsfOutfile *out, property_list &prop, uint32_t tag, FILETIME *contents) { - if (contents) { - string_property(out, prop, tag, (char *)contents, sizeof(FILETIME)); - } -} - - static void string_property(GsfOutfile *out, property_list &prop, uint32_t tag, const char* charset, pst_string &contents); static void string_property(GsfOutfile *out, property_list &prop, uint32_t tag, const char* charset, pst_string &contents) { if (contents.str) { @@ -185,6 +177,19 @@ } +static void i64_property(property_list &prop_list, uint32_t tag, uint32_t flags, FILETIME *value); +static void i64_property(property_list &prop_list, uint32_t tag, uint32_t flags, FILETIME *value) { + if (value) { + property p; + p.tag = tag; + p.flags = flags; + p.length = value->dwLowDateTime; + p.reserved = value->dwHighDateTime; + prop_list.push_back(p); + } +} + + static void nzi_property(property_list &prop_list, uint32_t tag, uint32_t flags, uint32_t value); static void nzi_property(property_list &prop_list, uint32_t tag, uint32_t flags, uint32_t value) { if (value) int_property(prop_list, tag, flags, value); @@ -246,10 +251,10 @@ nzi_property(prop_list, 0x0C17000B, 0x6, email.reply_requested); nzi_property(prop_list, 0x0E01000B, 0x6, email.delete_after_submit); int_property(prop_list, 0x0E070003, 0x6, item->flags); + i64_property(prop_list, 0x00390040, 0x6, email.sent_date); GsfOutfile *out = GSF_OUTFILE (output); string_property(out, prop_list, 0x001A001E, item->ascii_type); string_property(out, prop_list, 0x0037001E, body_charset, item->subject); - string_property(out, prop_list, 0x00390040, email.sent_date); strin0_property(out, prop_list, 0x003B0102, body_charset, email.outlook_sender); string_property(out, prop_list, 0x003D001E, string("")); string_property(out, prop_list, 0x0040001E, body_charset, email.outlook_received_name1);