- if (!strchr(Channel_UserModes(chan, from), 'q') &&
- !strchr(Channel_UserModes(chan, from), 'a') &&
- !strchr(Channel_UserModes(chan, from), 'o') &&
- !strchr(Channel_UserModes(chan, from), 'h'))
- return IRC_WriteStrClient(from, ERR_CHANOPRIVSNEEDED_MSG,
- Client_ID(from), Channel_Name(chan));
+ if (!Channel_UserHasMode(chan, from, 'q') &&
+ !Channel_UserHasMode(chan, from, 'a') &&
+ !Channel_UserHasMode(chan, from, 'o') &&
+ !Channel_UserHasMode(chan, from, 'h'))
+ return IRC_WriteErrClient(from,
+ ERR_CHANOPRIVSNEEDED_MSG,
+ Client_ID(from),
+ Channel_Name(chan));