]> jfr.im git - solanum.git/blobdiff - src/send.c
ssld: use uint64_t explicitly when we want 64-bit counters
[solanum.git] / src / send.c
index cc169f1bed725d6ea77fe9d25884a2bfb4c43382..cb2112054a73e6d673a6f7583f263a51ecb3ddb6 100644 (file)
@@ -778,6 +778,7 @@ sendto_channel_local_butone(struct Client *one, int type, struct Channel *chptr,
  *
  * inputs      - pointer to client
  *              - capability mask
+ *             - negated capability mask
  *             - pattern to send
  * output      - NONE
  * side effects        - Sends a message to all people on local server who are
@@ -785,7 +786,7 @@ sendto_channel_local_butone(struct Client *one, int type, struct Channel *chptr,
  *               used by m_nick.c and exit_one_client.
  */
 void
-sendto_common_channels_local(struct Client *user, int cap, const char *pattern, ...)
+sendto_common_channels_local(struct Client *user, int cap, int negcap, const char *pattern, ...)
 {
        va_list args;
        rb_dlink_node *ptr;
@@ -817,7 +818,8 @@ sendto_common_channels_local(struct Client *user, int cap, const char *pattern,
 
                        if(IsIOError(target_p) ||
                           target_p->serial == current_serial ||
-                          !IsCapable(target_p, cap))
+                          !IsCapable(target_p, cap) ||
+                          !NotCapable(target_p, negcap))
                                continue;
 
                        target_p->serial = current_serial;
@@ -839,13 +841,14 @@ sendto_common_channels_local(struct Client *user, int cap, const char *pattern,
  *
  * inputs      - pointer to client
  *              - capability mask
+ *             - negated capability mask
  *             - pattern to send
  * output      - NONE
  * side effects        - Sends a message to all people on local server who are
  *               in same channel with user, except for user itself.
  */
 void
-sendto_common_channels_local_butone(struct Client *user, int cap, const char *pattern, ...)
+sendto_common_channels_local_butone(struct Client *user, int cap, int negcap, const char *pattern, ...)
 {
        va_list args;
        rb_dlink_node *ptr;
@@ -879,7 +882,8 @@ sendto_common_channels_local_butone(struct Client *user, int cap, const char *pa
 
                        if(IsIOError(target_p) ||
                           target_p->serial == current_serial ||
-                          !IsCapable(target_p, cap))
+                          !IsCapable(target_p, cap) ||
+                          !NotCapable(target_p, negcap))
                                continue;
 
                        target_p->serial = current_serial;