Patch from Milan Crha <mcrha@redhat.com>:
authorJulien Kerihuel <j.kerihuel@openchange.org>
Wed, 7 Mar 2012 11:52:09 +0000 (11:52 +0000)
committerJulien Kerihuel <j.kerihuel@openchange.org>
Wed, 7 Mar 2012 11:52:09 +0000 (11:52 +0000)
Add PT_MV_CLSID support in cast_mapi_SPropValue

libmapi/property.c

index 00803daeaba0fc23f871b9e07f056b3264985b31..c2b74deab433ca09d85cc0289e02f288cdbd7442 100644 (file)
@@ -818,6 +818,21 @@ _PUBLIC_ uint32_t cast_mapi_SPropValue(TALLOC_CTX *mem_ctx,
                }
                return sizeof(mapi_sprop->value.MVl.cValues) + (mapi_sprop->value.MVl.cValues * sizeof (uint32_t));
        }
+       case PT_MV_CLSID:
+       {
+               uint32_t i;
+               DATA_BLOB b;
+
+               mapi_sprop->value.MVguid.cValues = sprop->value.MVguid.cValues;
+               mapi_sprop->value.MVguid.lpguid = talloc_array (mem_ctx, struct GUID, mapi_sprop->value.MVguid.cValues);
+               for (i = 0; i < mapi_sprop->value.MVguid.cValues; i++) {
+                       b.data = sprop->value.MVguid.lpguid[i]->ab;
+                       b.length = 16;
+
+                       GUID_from_ndr_blob(&b, &(mapi_sprop->value.MVguid.lpguid[i]));
+               }
+               return sizeof(mapi_sprop->value.MVguid.cValues) + (mapi_sprop->value.MVguid.cValues * sizeof (struct GUID));
+       }
         default:
                 printf("unhandled conversion case in cast_mapi_SPropValue(): 0x%x\n", (sprop->ulPropTag & 0xFFFF));
                 OPENCHANGE_ASSERT();