return 0;
}
-int client_get_privs(struct Client* client) {
- int privs = cli_privs(client);
-
- // add privs from class
- struct SLink *list;
-
- for (list = cli_confs(cptr); list != NULL; list = list->next) {
+int client_get_priv(struct Client* client, enum Priv priv) {
+ struct Privs *privs = &cli_privs(client);
+ struct SLink* list;
+ if(FlagHas(privs, priv))
+ return 1;
+
+ for (list = cli_confs(client); list != NULL; list = list->next) {
struct ConfItem *aconf;
aconf = list->value.aconf;
- if (aconf->status & CONF_CLIENT)
- privs |= aconf->privs;
+ if (FlagHas(&aconf->privs, priv))
+ return 1;
}
- return privs;
+ return 0;
}