Set user limit to zero when ulimit mode is unset.
authorPekka Riikonen <priikone@silcnet.org>
Sat, 28 Feb 2004 15:28:12 +0000 (15:28 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sat, 28 Feb 2004 15:28:12 +0000 (15:28 +0000)
lib/silcclient/client_notify.c
lib/silcclient/command_reply.c

index 5c2639eb03e8e9cb2d7992ece2cdf1e322d750f3..cd4fea9d921c6719754f3abc4a5cf851bcc0b4ee 100644 (file)
@@ -848,6 +848,8 @@ void silc_client_notify_by_server(SilcClient client,
       tmp = silc_argument_get_arg_type(args, 8, &tmp_len);
       if (tmp && tmp_len == 4)
         SILC_GET32_MSB(channel->user_limit, tmp);
+      if (!(channel->mode & SILC_CHANNEL_MODE_ULIMIT))
+        channel->user_limit = 0;
 
       /* Get the channel public key that was added or removed */
       tmp = silc_argument_get_arg_type(args, 7, &tmp_len);
index d79e6329836e925c79757125a68f11c2744fb1e1..6f024acb0979c7b2bf81afc1449c9a8e0ef34dc8 100644 (file)
@@ -1140,6 +1140,8 @@ SILC_CLIENT_CMD_REPLY_FUNC(join)
   tmp = silc_argument_get_arg_type(cmd->args, 17, &len);
   if (tmp && len == 4)
     SILC_GET32_MSB(channel->user_limit, tmp);
+  if (!(channel->mode & SILC_CHANNEL_MODE_ULIMIT))
+    channel->user_limit = 0;
 
   /* Get channel public key list */
   tmp = silc_argument_get_arg_type(cmd->args, 16, &len);
@@ -1316,6 +1318,8 @@ SILC_CLIENT_CMD_REPLY_FUNC(cmode)
   tmp = silc_argument_get_arg_type(cmd->args, 6, &len);
   if (tmp && len == 4)
     SILC_GET32_MSB(channel->user_limit, tmp);
+  if (!(channel->mode & SILC_CHANNEL_MODE_ULIMIT))
+    channel->user_limit = 0;
 
   /* Get channel public key(s) */
   tmp = silc_argument_get_arg_type(cmd->args, 5, &len);