summaryrefslogtreecommitdiffstats
path: root/mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c')
-rw-r--r--mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c128
1 files changed, 128 insertions, 0 deletions
diff --git a/mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c b/mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c
new file mode 100644
index 000000000..92ef19343
--- /dev/null
+++ b/mail/evolution-mapi/files/patch-src_libexchange_e-mapi-fast-transfer.c
@@ -0,0 +1,128 @@
+diff --git src/libexchangemapi/e-mapi-fast-transfer.c src/libexchangemapi/e-mapi-fast-transfer.c
+index 298839b..05fb207 100644
+--- src/libexchangemapi/e-mapi-fast-transfer.c
++++ src/libexchangemapi/e-mapi-fast-transfer.c
+@@ -30,6 +30,17 @@
+
+ #include "e-mapi-fast-transfer.h"
+
++#ifdef HAVE_FAST_TRANSFER_TAGS_2_1
++#define StartMessage PidTagStartMessage
++#define EndMessage PidTagEndMessage
++#define StartRecip PidTagStartRecip
++#define EndToRecip PidTagEndToRecip
++#define NewAttach PidTagNewAttach
++#define EndAttach PidTagEndAttach
++#define StartEmbed PidTagStartEmbed
++#define EndEmbed PidTagEndEmbed
++#endif
++
+ struct _EMapiFXParserClosure;
+ typedef struct _EMapiFXParserClosure EMapiFXParserClosure;
+
+@@ -107,9 +118,9 @@ parse_marker_cb (uint32_t marker, void *closure)
+
+ /* g_print ("\tMarker: %s (0x%08x)\n", get_proptag_name (marker), marker); */
+ switch (marker) {
+- case PidTagStartMessage:
++ case StartMessage:
+ if (data->object) {
+- g_debug ("%s: PidTagStartMessage: out of order, previous object not finished yet", G_STRFUNC);
++ g_debug ("%s: StartMessage: out of order, previous object not finished yet", G_STRFUNC);
+ e_mapi_object_finish_read (data->object);
+ stop = !process_parsed_object (data);
+ e_mapi_object_free (data->object);
+@@ -134,9 +145,9 @@ parse_marker_cb (uint32_t marker, void *closure)
+ data->current_streamed_properties_count = &data->object->streamed_properties_count;
+ data->marker = marker;
+ break;
+- case PidTagEndMessage:
++ case EndMessage:
+ if (!data->object) {
+- g_debug ("%s: PidTagEndMessage no object started", G_STRFUNC);
++ g_debug ("%s: EndMessage no object started", G_STRFUNC);
+ } else {
+ e_mapi_object_finish_read (data->object);
+ stop = !process_parsed_object (data);
+@@ -154,9 +165,9 @@ parse_marker_cb (uint32_t marker, void *closure)
+ }
+ data->marker = 0;
+ break;
+- case PidTagStartRecip:
++ case StartRecip:
+ if (!data->current_object) {
+- g_debug ("%s: PidTagStartRecip no object started", G_STRFUNC);
++ g_debug ("%s: StartRecip no object started", G_STRFUNC);
+ } else {
+ EMapiRecipient *recipient;
+
+@@ -173,16 +184,16 @@ parse_marker_cb (uint32_t marker, void *closure)
+ }
+ data->marker = marker;
+ break;
+- case PidTagEndToRecip:
++ case EndToRecip:
+ data->current_properties = NULL;
+ data->current_streamed_mem_ctx = NULL;
+ data->current_streamed_properties = NULL;
+ data->current_streamed_properties_count = NULL;
+ data->marker = 0;
+ break;
+- case PidTagNewAttach:
++ case NewAttach:
+ if (!data->current_object) {
+- g_debug ("%s: PidTagNewAttach no object started", G_STRFUNC);
++ g_debug ("%s: NewAttach no object started", G_STRFUNC);
+ } else {
+ EMapiAttachment *attachment;
+
+@@ -199,20 +210,20 @@ parse_marker_cb (uint32_t marker, void *closure)
+ }
+ data->marker = marker;
+ break;
+- case PidTagEndAttach:
++ case EndAttach:
+ data->current_properties = NULL;
+ data->current_streamed_mem_ctx = NULL;
+ data->current_streamed_properties = NULL;
+ data->current_streamed_properties_count = NULL;
+ data->marker = 0;
+ break;
+- case PidTagStartEmbed:
++ case StartEmbed:
+ if (!data->current_object) {
+- g_debug ("%s: PidTagStartEmbed no object started", G_STRFUNC);
++ g_debug ("%s: StartEmbed no object started", G_STRFUNC);
+ } else if (!data->current_object->attachments) {
+- g_debug ("%s: PidTagStartEmbed no attachment started", G_STRFUNC);
++ g_debug ("%s: StartEmbed no attachment started", G_STRFUNC);
+ } else if (data->current_object->attachments->embedded_object) {
+- g_debug ("%s: PidTagStartEmbed attachment has embedded object already", G_STRFUNC);
++ g_debug ("%s: StartEmbed attachment has embedded object already", G_STRFUNC);
+ } else {
+ EMapiObject *object;
+
+@@ -228,11 +239,11 @@ parse_marker_cb (uint32_t marker, void *closure)
+ }
+ data->marker = marker;
+ break;
+- case PidTagEndEmbed:
++ case EndEmbed:
+ if (!data->current_object) {
+- g_debug ("%s: PidTagEndEmbed no object started", G_STRFUNC);
++ g_debug ("%s: EndEmbed no object started", G_STRFUNC);
+ } else if (!data->current_object->parent) {
+- g_debug ("%s: PidTagEndEmbed no parent object", G_STRFUNC);
++ g_debug ("%s: EndEmbed no parent object", G_STRFUNC);
+ } else {
+ e_mapi_object_finish_read (data->current_object);
+ data->current_object = data->current_object->parent;
+@@ -397,7 +408,7 @@ e_mapi_fast_transfer_internal (EMapiConnection *conn,
+ data.current_streamed_mem_ctx = data.object;
+ data.current_streamed_properties = &data.object->streamed_properties;
+ data.current_streamed_properties_count = &data.object->streamed_properties_count;
+- data.marker = PidTagStartMessage;
++ data.marker = StartMessage;
+ }
+
+ parser = fxparser_init (data.mem_ctx, &data);