Minor code and output cleanups for the week of 2005-08-15.
[ircu2.10.12-pk.git] / include / channel.h
index 24e70b46db345a278275260b0653db870b5ab3c1..e0aca8dac01daf76f34f82b787378c5ec35e36f8 100644 (file)
@@ -126,8 +126,7 @@ struct Client;
 /** channel not shown but names are */
 #define HiddenChannel(x)        ((x) && ((x)->mode.mode & MODE_PRIVATE))
 /** channel visible */
-#define ShowChannel(v,c)        (PubChannel(c) || find_channel_member((v),(c)) || \
-                                 (IsAnOper(v) && HasPriv(v, PRIV_LIST_CHAN)))
+#define ShowChannel(v,c)        (PubChannel(c) || find_channel_member((v),(c)))
 #define PubChannel(x)           ((!x) || ((x)->mode.mode & \
                                     (MODE_PRIVATE | MODE_SECRET)) == 0)
 
@@ -150,6 +149,7 @@ typedef enum ChannelGetType {
 
 #define LISTARG_TOPICLIMITS     0x0001
 #define LISTARG_SHOWSECRET      0x0002
+#define LISTARG_NEGATEWILDCARD  0x0004
 
 /**
  * Maximum acceptable lag time in seconds: A channel younger than
@@ -262,14 +262,14 @@ struct Mode {
 
 /** A single ban for a channel. */
 struct Ban {
-  struct Ban* next;   /**< next ban in the channel */
+  struct Ban* next;           /**< next ban in the channel */
   struct irc_in_addr address; /**< addres for BAN_IPMASK bans */
-  time_t when;        /**< timestamp when ban was added */
-  unsigned short flags; /**< modifier flags for the ban */
-  unsigned char nu_len; /**< length of nick!user part of banstr */
-  unsigned char addrbits; /**< netmask length for BAN_IPMASK bans */
-  char *who;          /**< name of client that set the ban */
-  char *banstr;       /**< hostmask that the ban matches */
+  time_t when;                /**< timestamp when ban was added */
+  unsigned short flags;       /**< modifier flags for the ban */
+  unsigned char nu_len;       /**< length of nick!user part of banstr */
+  unsigned char addrbits;     /**< netmask length for BAN_IPMASK bans */
+  char who[NICKLEN+1];        /**< name of client that set the ban */
+  char banstr[NICKLEN+USERLEN+HOSTLEN+3];  /**< hostmask that the ban matches */
 };
 
 /** Information about a channel */
@@ -304,6 +304,7 @@ struct ListingArgs {
   time_t max_topic_time;
   time_t min_topic_time;
   unsigned int bucket;
+  char wildcard[CHANNELLEN];
 };
 
 struct ModeBuf {