summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
inline | side by side (from parent 1:
4636e5c)
channel_modes(): get rid of the trailing space
also make the *pbuf check work like it should
(don't call IsMember another time if we already
gave one parameter)
simplify a bit more, update comments
+jilles 2007/04/25 15:22:28 UTC (20070425-3426)
+ Log:
+ webirc bugfix
+
+
+ Changes: Modified:
+ +1 -1 trunk/extensions/m_webirc.c (File Modified)
+
+
jilles 2007/04/25 15:21:34 UTC (20070425-3424)
Log:
chghost: refuse spoofs which are empty or start with a colon
jilles 2007/04/25 15:21:34 UTC (20070425-3424)
Log:
chghost: refuse spoofs which are empty or start with a colon
-#define SERNO "20070425-3424"
+#define SERNO "20070425-3426"
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: channel.c 3259 2007-03-15 18:09:08Z jilles $
+ * $Id: channel.c 3432 2007-04-26 23:01:16Z jilles $
*
* inputs - pointer to channel
* - pointer to client
*
* inputs - pointer to channel
* - pointer to client
- * output - NONE
- * side effects - write the "simple" list of channel modes for channel
- * chptr onto buffer mbuf with the parameters in pbuf.
+ * output - string with simple modes
+ * side effects - result from previous calls overwritten
*
* Stolen from ShadowIRCd 4 --nenolod
*/
*
* Stolen from ShadowIRCd 4 --nenolod
*/
- if(IsMember(client_p, chptr) || IsServer(client_p) || IsMe(client_p))
- pbuf += ircsprintf(pbuf, "%d ", chptr->mode.limit);
+ if(!IsClient(client_p) || IsMember(client_p, chptr))
+ pbuf += ircsprintf(pbuf, " %d", chptr->mode.limit);
}
if(*chptr->mode.key)
{
*mbuf++ = 'k';
}
if(*chptr->mode.key)
{
*mbuf++ = 'k';
- if(*pbuf || IsMember(client_p, chptr) || IsServer(client_p) || IsMe(client_p))
- pbuf += ircsprintf(pbuf, "%s ", chptr->mode.key);
+ if(pbuf > buf2 || !IsClient(client_p) || IsMember(client_p, chptr))
+ pbuf += ircsprintf(pbuf, " %s", chptr->mode.key);
}
if(chptr->mode.join_num)
{
*mbuf++ = 'j';
}
if(chptr->mode.join_num)
{
*mbuf++ = 'j';
- if(*pbuf || IsMember(client_p, chptr) || IsServer(client_p) || IsMe(client_p))
- pbuf += ircsprintf(pbuf, "%d:%d ", chptr->mode.join_num,
+ if(pbuf > buf2 || !IsClient(client_p) || IsMember(client_p, chptr))
+ pbuf += ircsprintf(pbuf, " %d:%d", chptr->mode.join_num,
chptr->mode.join_time);
}
chptr->mode.join_time);
}
- if(*chptr->mode.forward && (ConfigChannel.use_forward || IsServer(client_p) || IsMe(client_p)))
+ if(*chptr->mode.forward && (ConfigChannel.use_forward || !IsClient(client_p)))
- if(*pbuf || IsMember(client_p, chptr) || IsServer(client_p) || IsMe(client_p))
- pbuf += ircsprintf(pbuf, "%s ", chptr->mode.forward);
+ if(pbuf > buf2 || !IsClient(client_p) || IsMember(client_p, chptr))
+ pbuf += ircsprintf(pbuf, " %s", chptr->mode.forward);
- ircsprintf(final, "%s %s", buf1, buf2);
+ strlcpy(final, buf1, sizeof final);
+ strlcat(final, buf2, sizeof final);