* append here property tags that can be fetched with
* ResolveNames but shouldn't be included in ModifyRecipients rows
*/
- request.properties = get_MAPITAGS_SRow(mem_ctx, &SRowSet->aRow[0]);
- count = SRowSet->aRow[0].cValues - 1;
+ request.properties = get_MAPITAGS_SRow(mem_ctx, &SRowSet->aRow[0], &count);
request.prop_count = MAPITAGS_delete_entries(request.properties, count, 17,
PR_ENTRYID,
PR_DISPLAY_NAME,
enum MAPISTATUS mapi_object_bookmark_find(mapi_object_t *, uint32_t,struct SBinary_short *);
/* The following private definitions come from libmapi/property.c */
-enum MAPITAGS *get_MAPITAGS_SRow(TALLOC_CTX *, struct SRow *);
+enum MAPITAGS *get_MAPITAGS_SRow(TALLOC_CTX *, struct SRow *, uint32_t *);
uint32_t MAPITAGS_delete_entries(enum MAPITAGS *, uint32_t, uint32_t, ...);
size_t get_utf8_utf16_conv_length(const char *);
Create a MAPITAGS array from a SRow entry
*/
-enum MAPITAGS *get_MAPITAGS_SRow(TALLOC_CTX *mem_ctx, struct SRow *aRow)
+enum MAPITAGS *get_MAPITAGS_SRow(TALLOC_CTX *mem_ctx,
+ struct SRow *aRow,
+ uint32_t *actual_count)
{
enum MAPITAGS *mapitags;
uint32_t count, idx;
}
}
mapitags[idx] = 0;
+ *actual_count = idx;
+
return mapitags;
}