Fix handling of multiple users on a +h account in the support channel(s).
[srvx.git] / src / chanserv.c
index 23a55b5a08fea204cddbed9475e7ce356f99a0ed..e039fbf44d882f63e523d29cbd425d8915555bd9 100644 (file)
@@ -6695,16 +6695,11 @@ handle_part(struct modeNode *mn, UNUSED_ARG(const char *reason))
 
     if(IsHelping(mn->user) && IsSupportHelper(mn->user))
     {
-        unsigned int ii, jj;
+        unsigned int ii;
         for(ii = 0; ii < chanserv_conf.support_channels.used; ++ii)
-        {
-            for(jj = 0; jj < mn->user->channels.used; ++jj)
-                if(mn->user->channels.list[jj]->channel == chanserv_conf.support_channels.list[ii])
-                    break;
-            if(jj < mn->user->channels.used)
+             if(find_handle_in_channel(chanserv_conf.support_channels.list[ii], mn->user->handle_info, mn->user))
                 break;
-        }
-        if(ii == chanserv_conf.support_channels.used)
+         if(ii == chanserv_conf.support_channels.used)
             HANDLE_CLEAR_FLAG(mn->user->handle_info, HELPING);
     }
 }