+ if(mheader->mapi_cap_list)
+ {
+ mapi_cap_list_av2 *m;
+ for (m = mheader->mapi_cap_list; m->cap_name; ++m)
+ {
+ struct CapabilityIndex *idx;
+ int result;
+
+ switch (m->cap_index)
+ {
+ case MAPI_CAP_CLIENT:
+ idx = cli_capindex;
+ break;
+ case MAPI_CAP_SERVER:
+ idx = serv_capindex;
+ break;
+ default:
+ sendto_realops_snomask(SNO_GENERAL, L_ALL,
+ "Unknown/unsupported CAP index found of type %d on capability %s when loading %s",
+ m->cap_index, m->cap_name, mod_displayname);
+ ilog(L_MAIN,
+ "Unknown/unsupported CAP index found of type %d on capability %s when loading %s",
+ m->cap_index, m->cap_name, mod_displayname);
+ continue;
+ }
+
+ result = capability_put(idx, m->cap_name, m->cap_ownerdata);
+ if (m->cap_id != NULL)
+ *(m->cap_id) = result;
+ }
+ }
+