mirror of
https://github.com/matrix-construct/construct
synced 2024-11-29 10:12:39 +01:00
capability: add capability_index_mask() which calculates old CAP_MASK
This commit is contained in:
parent
5e773521a9
commit
ec3a9055f2
2 changed files with 19 additions and 1 deletions
|
@ -30,7 +30,7 @@ extern void capability_orphan(struct CapabilityIndex *index, const char *cap);
|
|||
|
||||
extern struct CapabilityIndex *capability_index_create(void);
|
||||
extern void capability_index_destroy(struct CapabilityIndex *);
|
||||
|
||||
extern const char *capability_index_list(struct CapabilityIndex *, unsigned int capability_mask);
|
||||
extern unsigned int capability_index_mask(struct CapabilityIndex *);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -142,3 +142,21 @@ capability_index_list(struct CapabilityIndex *index, unsigned int cap_mask)
|
|||
|
||||
return buf;
|
||||
}
|
||||
|
||||
unsigned int
|
||||
capability_index_mask(struct CapabilityIndex *index)
|
||||
{
|
||||
struct DictionaryIter iter;
|
||||
struct CapabilityEntry *entry;
|
||||
unsigned int mask = 0;
|
||||
|
||||
s_assert(index != NULL);
|
||||
|
||||
DICTIONARY_FOREACH(entry, &iter, index->cap_dict)
|
||||
{
|
||||
if (!entry->orphaned)
|
||||
mask |= entry->value;
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue