Skip to content

Commit fb01e4e

Browse files
committed
exch: more idiomatic proptag_array appending
1 parent fe12572 commit fb01e4e

File tree

10 files changed

+54
-73
lines changed

10 files changed

+54
-73
lines changed

exch/emsmdb/common_util.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,7 +783,7 @@ PROPTAG_ARRAY* common_util_trim_proptags(const PROPTAG_ARRAY *pproptags)
783783
const auto tag = pproptags->pproptag[i];
784784
if (PROP_TYPE(tag) == PT_OBJECT)
785785
continue;
786-
ptmp_proptags->pproptag[ptmp_proptags->count++] = tag;
786+
ptmp_proptags->emplace_back(tag);
787787
}
788788
return ptmp_proptags;
789789
}

exch/zcore/attachment_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ BOOL attachment_object::remove_properties(const PROPTAG_ARRAY *pproptags)
279279
const auto tag = pproptags->pproptag[i];
280280
if (aobj_is_readonly_prop(pattachment, tag))
281281
continue;
282-
tmp_proptags.pproptag[tmp_proptags.count++] = tag;
282+
tmp_proptags.emplace_back(tag);
283283
}
284284
if (tmp_proptags.count == 0)
285285
return TRUE;

exch/zcore/container_object.cpp

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -234,22 +234,17 @@ BOOL container_object::load_user_table(const RESTRICTION *prestriction) try
234234
proptags.pproptag = proptag_buff;
235235
if (!container_object_get_pidlids(&proptags))
236236
return FALSE;
237-
proptags.pproptag[proptags.count++] = PR_DISPLAY_NAME;
238-
proptags.pproptag[proptags.count++] = PR_NICKNAME;
239-
proptags.pproptag[proptags.count++] = PR_TITLE;
240-
proptags.pproptag[proptags.count++] = PR_SURNAME;
241-
proptags.pproptag[proptags.count++] = PR_GIVEN_NAME;
242-
proptags.pproptag[proptags.count++] = PR_MIDDLE_NAME;
243-
proptags.pproptag[proptags.count++] = PR_PRIMARY_TELEPHONE_NUMBER;
244-
proptags.pproptag[proptags.count++] = PR_MOBILE_TELEPHONE_NUMBER;
245-
proptags.pproptag[proptags.count++] = PR_HOME_ADDRESS_STREET;
246-
proptags.pproptag[proptags.count++] = PR_COMMENT;
247-
proptags.pproptag[proptags.count++] = PR_COMPANY_NAME;
248-
proptags.pproptag[proptags.count++] = PR_DEPARTMENT_NAME;
249-
proptags.pproptag[proptags.count++] = PR_OFFICE_LOCATION;
250-
proptags.pproptag[proptags.count++] = PR_CREATION_TIME;
251-
proptags.pproptag[proptags.count++] = PR_MESSAGE_CLASS;
252-
proptags.pproptag[proptags.count++] = PidTagMid;
237+
static constexpr proptag_t ntags[] = {
238+
PR_DISPLAY_NAME, PR_NICKNAME, PR_TITLE, PR_SURNAME,
239+
PR_GIVEN_NAME, PR_MIDDLE_NAME,
240+
PR_PRIMARY_TELEPHONE_NUMBER,
241+
PR_MOBILE_TELEPHONE_NUMBER, PR_HOME_ADDRESS_STREET,
242+
PR_COMMENT, PR_COMPANY_NAME, PR_DEPARTMENT_NAME,
243+
PR_OFFICE_LOCATION, PR_CREATION_TIME, PR_MESSAGE_CLASS,
244+
PidTagMid,
245+
};
246+
for (auto t : ntags)
247+
proptags.emplace_back(t);
253248
if (!exmdb_client->query_table(pinfo->get_maildir(), nullptr,
254249
pinfo->cpid, table_id, &proptags, 0, row_num, &tmp_set))
255250
return FALSE;

exch/zcore/folder_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ BOOL folder_object::remove_properties(const PROPTAG_ARRAY *pproptags)
519519
const auto tag = pproptags->pproptag[i];
520520
if (pfolder->is_readonly_prop(tag))
521521
continue;
522-
tmp_proptags.pproptag[tmp_proptags.count++] = tag;
522+
tmp_proptags.emplace_back(tag);
523523
}
524524
if (tmp_proptags.count == 0)
525525
return TRUE;

exch/zcore/message_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,7 @@ BOOL message_object::remove_properties(const PROPTAG_ARRAY *pproptags) try
864864
problems.pproblem[problems.count++].index = i;
865865
continue;
866866
}
867-
tmp_proptags.pproptag[tmp_proptags.count++] = tag;
867+
tmp_proptags.emplace_back(tag);
868868
poriginal_indices.push_back(i);
869869
}
870870
if (tmp_proptags.count == 0)

exch/zcore/store_object.cpp

Lines changed: 34 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -355,56 +355,42 @@ BOOL store_object::get_all_proptags(PROPTAG_ARRAY *pproptags)
355355
sizeof(uint32_t)*tmp_proptags.count);
356356
pproptags->count = tmp_proptags.count;
357357
if (pstore->b_private) {
358-
pproptags->pproptag[pproptags->count++] = PidTagXSpoolerQueueEntryId;
359-
pproptags->pproptag[pproptags->count++] = PR_COMMON_VIEWS_ENTRYID;
360-
pproptags->pproptag[pproptags->count++] = PR_EC_ALLOW_EXTERNAL;
361-
pproptags->pproptag[pproptags->count++] = PR_EC_EXTERNAL_AUDIENCE;
362-
pproptags->pproptag[pproptags->count++] = PR_EC_EXTERNAL_REPLY;
363-
pproptags->pproptag[pproptags->count++] = PR_EC_EXTERNAL_SUBJECT;
364-
pproptags->pproptag[pproptags->count++] = PR_EC_OUTOFOFFICE;
365-
pproptags->pproptag[pproptags->count++] = PR_EC_OUTOFOFFICE_FROM;
366-
pproptags->pproptag[pproptags->count++] = PR_EC_OUTOFOFFICE_MSG;
367-
pproptags->pproptag[pproptags->count++] = PR_EC_OUTOFOFFICE_SUBJECT;
368-
pproptags->pproptag[pproptags->count++] = PR_EC_OUTOFOFFICE_UNTIL;
369-
pproptags->pproptag[pproptags->count++] = PR_EMAIL_ADDRESS;
370-
pproptags->pproptag[pproptags->count++] = PR_EMS_AB_DISPLAY_NAME_PRINTABLE;
371-
pproptags->pproptag[pproptags->count++] = PR_FINDER_ENTRYID;
372-
pproptags->pproptag[pproptags->count++] = PR_IPM_DAF_ENTRYID;
373-
pproptags->pproptag[pproptags->count++] = PR_IPM_INBOX_ENTRYID;
374-
pproptags->pproptag[pproptags->count++] = PR_IPM_OUTBOX_ENTRYID;
375-
pproptags->pproptag[pproptags->count++] = PR_IPM_SENTMAIL_ENTRYID;
376-
pproptags->pproptag[pproptags->count++] = PR_IPM_WASTEBASKET_ENTRYID;
377-
pproptags->pproptag[pproptags->count++] = PR_MAILBOX_OWNER_ENTRYID;
378-
pproptags->pproptag[pproptags->count++] = PR_MAILBOX_OWNER_NAME;
379-
pproptags->pproptag[pproptags->count++] = PR_MAX_SUBMIT_MESSAGE_SIZE;
380-
pproptags->pproptag[pproptags->count++] = PR_SCHEDULE_FOLDER_ENTRYID;
381-
pproptags->pproptag[pproptags->count++] = PR_VIEWS_ENTRYID;
358+
static constexpr proptag_t ntags[] = {
359+
PidTagXSpoolerQueueEntryId, PR_COMMON_VIEWS_ENTRYID,
360+
PR_EC_ALLOW_EXTERNAL, PR_EC_EXTERNAL_AUDIENCE,
361+
PR_EC_EXTERNAL_REPLY, PR_EC_EXTERNAL_SUBJECT,
362+
PR_EC_OUTOFOFFICE, PR_EC_OUTOFOFFICE_FROM,
363+
PR_EC_OUTOFOFFICE_MSG, PR_EC_OUTOFOFFICE_SUBJECT,
364+
PR_EC_OUTOFOFFICE_UNTIL, PR_EMAIL_ADDRESS,
365+
PR_EMS_AB_DISPLAY_NAME_PRINTABLE, PR_FINDER_ENTRYID,
366+
PR_IPM_DAF_ENTRYID, PR_IPM_INBOX_ENTRYID,
367+
PR_IPM_OUTBOX_ENTRYID, PR_IPM_SENTMAIL_ENTRYID,
368+
PR_IPM_WASTEBASKET_ENTRYID, PR_MAILBOX_OWNER_ENTRYID,
369+
PR_MAILBOX_OWNER_NAME, PR_MAX_SUBMIT_MESSAGE_SIZE,
370+
PR_SCHEDULE_FOLDER_ENTRYID, PR_VIEWS_ENTRYID,
371+
};
372+
for (auto t : ntags)
373+
pproptags->emplace_back(t);
382374
} else {
383-
pproptags->pproptag[pproptags->count++] = PR_EFORMS_REGISTRY_ENTRYID;
384-
pproptags->pproptag[pproptags->count++] = PR_IPM_PUBLIC_FOLDERS_ENTRYID;
385-
pproptags->pproptag[pproptags->count++] = PR_NON_IPM_SUBTREE_ENTRYID;
375+
static constexpr proptag_t ntags[] = {
376+
PR_EFORMS_REGISTRY_ENTRYID, PR_IPM_PUBLIC_FOLDERS_ENTRYID,
377+
PR_NON_IPM_SUBTREE_ENTRYID,
378+
};
379+
for (auto t : ntags)
380+
pproptags->emplace_back(t);
386381
}
387-
pproptags->pproptag[pproptags->count++] = PR_CONTENT_COUNT;
388-
pproptags->pproptag[pproptags->count++] = PR_DEFAULT_STORE;
389-
pproptags->pproptag[pproptags->count++] = PR_DISPLAY_NAME;
390-
pproptags->pproptag[pproptags->count++] = PR_EC_SERVER_VERSION;
391-
pproptags->pproptag[pproptags->count++] = PR_ENTRYID;
392-
pproptags->pproptag[pproptags->count++] = PR_EXTENDED_RULE_SIZE_LIMIT;
393-
pproptags->pproptag[pproptags->count++] = PR_INSTANCE_KEY;
394-
pproptags->pproptag[pproptags->count++] = PR_IPM_FAVORITES_ENTRYID;
395-
pproptags->pproptag[pproptags->count++] = PR_IPM_SUBTREE_ENTRYID;
396-
pproptags->pproptag[pproptags->count++] = PR_MAPPING_SIGNATURE;
397-
pproptags->pproptag[pproptags->count++] = PR_MDB_PROVIDER;
398-
pproptags->pproptag[pproptags->count++] = PR_OBJECT_TYPE;
399-
pproptags->pproptag[pproptags->count++] = PR_PROVIDER_DISPLAY;
400-
pproptags->pproptag[pproptags->count++] = PR_RECORD_KEY;
401-
pproptags->pproptag[pproptags->count++] = PR_RESOURCE_FLAGS;
402-
pproptags->pproptag[pproptags->count++] = PR_RESOURCE_TYPE;
403-
pproptags->pproptag[pproptags->count++] = PR_ROOT_ENTRYID;
404-
pproptags->pproptag[pproptags->count++] = PR_STORE_ENTRYID;
405-
pproptags->pproptag[pproptags->count++] = PR_STORE_RECORD_KEY;
406-
pproptags->pproptag[pproptags->count++] = PR_STORE_SUPPORT_MASK;
407-
pproptags->pproptag[pproptags->count++] = PR_USER_ENTRYID;
382+
static constexpr proptag_t ntags[] = {
383+
PR_CONTENT_COUNT, PR_DEFAULT_STORE, PR_DISPLAY_NAME,
384+
PR_EC_SERVER_VERSION, PR_ENTRYID, PR_EXTENDED_RULE_SIZE_LIMIT,
385+
PR_INSTANCE_KEY, PR_IPM_FAVORITES_ENTRYID,
386+
PR_IPM_SUBTREE_ENTRYID, PR_MAPPING_SIGNATURE, PR_MDB_PROVIDER,
387+
PR_OBJECT_TYPE, PR_PROVIDER_DISPLAY, PR_RECORD_KEY,
388+
PR_RESOURCE_FLAGS, PR_RESOURCE_TYPE, PR_ROOT_ENTRYID,
389+
PR_STORE_ENTRYID, PR_STORE_RECORD_KEY, PR_STORE_SUPPORT_MASK,
390+
PR_USER_ENTRYID,
391+
};
392+
for (auto t : ntags)
393+
pproptags->emplace_back(t);
408394
return TRUE;
409395
}
410396

exch/zcore/table_object.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,13 @@ static BOOL table_object_get_store_table_all_proptags(
220220
for (size_t i = 0; i < tmp_proptags2.count; ++i) {
221221
if (tmp_proptags1.has(tmp_proptags2.pproptag[i]))
222222
continue;
223-
pproptags->pproptag[pproptags->count++] = tmp_proptags2.pproptag[i];
223+
pproptags->emplace_back(tmp_proptags2.pproptag[i]);
224224
}
225225
for (size_t i = 0; i < std::size(proptag_buff); ++i) {
226226
if (tmp_proptags1.has(proptag_buff[i]) ||
227227
tmp_proptags2.has(proptag_buff[i]))
228228
continue;
229-
pproptags->pproptag[pproptags->count++] = proptag_buff[i];
229+
pproptags->emplace_back(proptag_buff[i]);
230230
}
231231
return TRUE;
232232
}

exch/zcore/zserver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3869,7 +3869,7 @@ ec_error_t zs_copyto(GUID hsession, uint32_t hsrcobject,
38693869
continue;
38703870
if (!b_force && proptags1.has(tag))
38713871
continue;
3872-
tmp_proptags.pproptag[tmp_proptags.count++] = tag;
3872+
tmp_proptags.emplace_back(tag);
38733873
}
38743874
if (!folder->get_properties(&tmp_proptags, &propvals))
38753875
return ecError;

lib/mapi/proptag_array.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ bool proptag_array_append(PROPTAG_ARRAY *pproptags, proptag_t proptag)
5858
}
5959
pproptags->pproptag = pproptag;
6060
}
61-
pproptags->pproptag[pproptags->count++] = proptag;
61+
pproptags->emplace_back(proptag);
6262
return true;
6363
}
6464

lib/mapi/tnef.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2090,7 +2090,7 @@ static BOOL tnef_serialize_internal(tnef_push &ext, const char *log_id,
20902090
}
20912091
proptag_t proptag_buff[32];
20922092
PROPTAG_ARRAY tmp_proptags = {0, proptag_buff};
2093-
tmp_proptags.pproptag[tmp_proptags.count++] = PR_MESSAGE_FLAGS;
2093+
tmp_proptags.emplace_back(PR_MESSAGE_FLAGS);
20942094

20952095
/* ATTRIBUTE_ID_FROM */
20962096
if (b_embedded && !serialize_rcpt(*pext, *pmsg, alloc, get_propname,

0 commit comments

Comments
 (0)