Revision: 1886
          
http://undernet-ircu.svn.sourceforge.net/undernet-ircu/?rev=1886&view=rev
Author:   klmitch
Date:     2008-10-09 14:25:03 +0000 (Thu, 09 Oct 2008)

Log Message:
-----------
Author: Kev <[EMAIL PROTECTED]>
Description:

Correct various errors discovered at compile-time.  (Run-time fix-ups
are next, so brace yourself!)

Modified Paths:
--------------
    ircu2/branches/mode/ChangeLog
    ircu2/branches/mode/include/keyspace.h
    ircu2/branches/mode/include/mode-compat.h
    ircu2/branches/mode/include/mode.h
    ircu2/branches/mode/ircd/Makefile.am
    ircu2/branches/mode/ircd/Makefile.in
    ircu2/branches/mode/ircd/ircd.c
    ircu2/branches/mode/ircd/keyspace.c
    ircu2/branches/mode/ircd/mode-compat.c
    ircu2/branches/mode/ircd/mode.c

Modified: ircu2/branches/mode/ChangeLog
===================================================================
--- ircu2/branches/mode/ChangeLog       2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ChangeLog       2008-10-09 14:25:03 UTC (rev 1886)
@@ -1,3 +1,42 @@
+2008-10-09  Kevin L. Mitchell  <[EMAIL PROTECTED]>
+
+       * include/mode.h: it's not modedesc_t or modelist_t, it's
+       mode_desc_t and mode_list_t; also take care of renaming key_t to
+       ircd_key_t; ml_keyspace field should not be a *pointer* to a
+       keyspace_t; we never defined mode_dir_t (originally was going to
+       make it an enum), so use flagpage_t instead; _mode_desc_reg() and
+       _mode_desc_unreg() were changed to take mode_list_t pointers
+       instead of regtab_t pointers
+
+       * include/mode-compat.h: it's not modedesc_t or modelist_t, it's
+       mode_desc_t and mode_list_t
+
+       * include/keyspace.h: key_t conflicts with a system-defined type,
+       so change it to ircd_key_t
+
+       * ircd/mode-compat.c: it's not modedesc_t or modelist_t, it's
+       mode_desc_t and mode_list_t; also, have to cast mode_list_t
+       pointers to regtab_t pointers; there is no MDFLAG_AUTHZ_NONE, use
+       MDPOL_AUTHZ_NONE
+
+       * ircd/ircd.c: initialize mode system and mode compatibility layer
+
+       * ircd/Makefile.in: regenerate from Makefile.am
+
+       * ircd/Makefile.am (ircd_SOURCES): add keyspace.c, mode.c,
+       mode-compat.c, and register.c to list of sources
+
+       * ircd/mode.c: it's not modelist_t and modedesc_t, it's
+       mode_list_t and mode_desc_t; cast _mode_desc_reg and
+       _mode_desc_unreg to reg_t and unreg_t, respectively, in ml_reg();
+       cast ml to regtab_t* in ml_unreg_flush(); ml_unreg() needs to
+       return a value; mm_build() needs to refer to ms as a pointer
+       rather than a structure; mode_str_modes() needs to use mm_build,
+       not ms_build
+
+       * ircd/keyspace.c: key_t conflicts with a system-defined type, so
+       change it to ircd_key_t
+
 2008-10-03  Kevin L. Mitchell  <[EMAIL PROTECTED]>
 
        * include/mode.h: define MODE_DESC_CHECK() and MODE_LIST_CHECK()

Modified: ircu2/branches/mode/include/keyspace.h
===================================================================
--- ircu2/branches/mode/include/keyspace.h      2008-10-04 03:29:22 UTC (rev 
1885)
+++ ircu2/branches/mode/include/keyspace.h      2008-10-09 14:25:03 UTC (rev 
1886)
@@ -30,11 +30,11 @@
 #define INCLUDED_limits_h
 #endif
 
-/** Invalid key_t value for returning errors from ks_reserve(). */
+/** Invalid ircd_key_t value for returning errors from ks_reserve(). */
 #define KEY_INVKEY     UINT_MAX
 
 /** Specifies a key value. */
-typedef unsigned int key_t;
+typedef unsigned int ircd_key_t;
 /** Specifies a space of keys to allocate from. */
 typedef struct KeySpace keyspace_t;
 
@@ -42,17 +42,17 @@
  * @param[in] space Key space being grown.
  * @param[in] new New size for key space allocation.
  */
-typedef void (*keygrow_t)(keyspace_t* space, key_t new);
+typedef void (*keygrow_t)(keyspace_t* space, ircd_key_t new);
 
 /** Contains details of the key space. */
 struct KeySpace {
   unsigned long        ks_magic;       /**< Magic number */
   unsigned int ks_alloc;       /**< Total number of bitmap entries */
-  key_t                ks_count;       /**< Current count of keys */
-  key_t                ks_highest;     /**< Highest allocated key to date */
-  key_t                ks_max;         /**< Maximum number of keys to allocate 
*/
-  key_t                ks_extern;      /**< External key tracker size */
-  key_t                ks_chunk;       /**< Chunk to round key tracker size to 
*/
+  ircd_key_t   ks_count;       /**< Current count of keys */
+  ircd_key_t   ks_highest;     /**< Highest allocated key to date */
+  ircd_key_t   ks_max;         /**< Maximum number of keys to allocate */
+  ircd_key_t   ks_extern;      /**< External key tracker size */
+  ircd_key_t   ks_chunk;       /**< Chunk to round key tracker size to */
   keygrow_t    ks_grow;        /**< External routine to signal on growth */
   flagpage_t*  ks_keys;        /**< Key allocation bitmap */
   void*                ks_extra;       /**< Extra data associated with 
keyspace */
@@ -115,10 +115,10 @@
   } while (0)
 
 /* Reserve a key, optionally a specified one. */
-extern key_t ks_reserve(keyspace_t* space);
+extern ircd_key_t ks_reserve(keyspace_t* space);
 
 /* Release an allocated key. */
-extern void ks_release(keyspace_t* space, key_t key);
+extern void ks_release(keyspace_t* space, ircd_key_t key);
 
 /* Clean up a keyspace. */
 extern void ks_clean(keyspace_t* space);

Modified: ircu2/branches/mode/include/mode-compat.h
===================================================================
--- ircu2/branches/mode/include/mode-compat.h   2008-10-04 03:29:22 UTC (rev 
1885)
+++ ircu2/branches/mode/include/mode-compat.h   2008-10-09 14:25:03 UTC (rev 
1886)
@@ -138,14 +138,14 @@
 #define SMODE_IPV6             (&_umodes[_SMODE_IPV6])
 
 /* Arrays of mode descriptors. */
-extern modedesc_t _cmodes[];
-extern modedesc_t _umodes[];
-extern modedesc_t _smodes[];
+extern mode_desc_t _cmodes[];
+extern mode_desc_t _umodes[];
+extern mode_desc_t _smodes[];
 
 /* Mode list descriptors. */
-extern modelist_t chanmodes;
-extern modelist_t usermodes;
-extern modelist_t servmodes;
+extern mode_list_t chanmodes;
+extern mode_list_t usermodes;
+extern mode_list_t servmodes;
 
 /* Initialize mode compatibility layer. */
 extern void mode_compat_init(void);

Modified: ircu2/branches/mode/include/mode.h
===================================================================
--- ircu2/branches/mode/include/mode.h  2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/include/mode.h  2008-10-09 14:25:03 UTC (rev 1886)
@@ -43,7 +43,7 @@
 #define MODE_TABLE             "mode"
 
 /** Specifies the numerical value of a mode switch. */
-typedef key_t mode_t;
+typedef ircd_key_t mode_t;
 
 /** Describes a single mode, including parsing flags and policy flags. */
 typedef struct ModeDesc mode_desc_t;
@@ -69,7 +69,7 @@
 /** Magic number for a mode descriptor. */
 #define MODE_DESC_MAGIC 0x54aacaed
 
-/** Initialize a modedesc_t.
+/** Initialize a mode_desc_t.
  * @param[in] name Descriptive name for the mode.
  * @param[in] sw "Switch" character for the mode.
  * @param[in] desc Description of the mode.
@@ -153,14 +153,14 @@
   regtab_t             ml_table;       /**< Registration table. */
   size_t               ml_offset;      /**< Offset of mode structure
                                             within entity. */
-  keyspace_t*          ml_keyspace;    /**< Keyspace for mode value
+  keyspace_t           ml_keyspace;    /**< Keyspace for mode value
                                             allocation. */
   mode_desc_t*         ml_smap[256];   /**< Mode switch map. */
   mode_desc_t*         ml_mmap[MAX_MODES];
                                        /**< Mode value map. */
 };
 
-/** Initialize a modelist_t.
+/** Initialize a mode_list_t.
  * @param[in] name Descriptive name for the mode list.
  * @param[in] offset Offset of modeset_t entry in entity structure.
  */
@@ -193,7 +193,7 @@
                                             with arguments. */
   struct {
     mode_desc_t*       mam_mode;       /**< The mode. */
-    mode_dir_t         mam_dir;        /**< Direction of mode. */
+    flagpage_t         mam_dir;        /**< Direction of mode. */
     union {
       unsigned int     mama_int;       /**< Unsigned integer argument. */
       const char*      mama_str;       /**< String argument (keys). */
@@ -226,18 +226,18 @@
 #define MDELTA_REVERSE         0x40000000
 
 /* Assign mode and add to appropriate tables. */
-extern int _mode_desc_reg(regtab_t* table, modedesc_t* md);
+extern int _mode_desc_reg(mode_list_t* table, mode_desc_t* md);
 /* Release mode and remove from tables. */
-extern int _mode_desc_unreg(regtab_t* table, modedesc_t* md);
+extern int _mode_desc_unreg(mode_list_t* table, mode_desc_t* md);
 
 /* Initialize mode subsystem. */
 extern void mode_init(void);
 
 /* Build mode list strings for RPL_MYINFO. */
-extern char* mode_str_info(modelist_t* ml, char* buf, int* len, int args);
+extern char* mode_str_info(mode_list_t* ml, char* buf, int* len, int args);
 /* Build mode list strings for CHANMODES in RPL_ISUPPORT. */
-extern char* mode_str_modes(modelist_t* ml, char* buf, int* len);
+extern char* mode_str_modes(mode_list_t* ml, char* buf, int* len);
 /* Build prefix string for PREFIX in RPL_ISUPPORT. */
-extern char* mode_str_prefix(modelist_t* ml, char* buf, int* len);
+extern char* mode_str_prefix(mode_list_t* ml, char* buf, int* len);
 
 #endif /* INCLUDED_mode_h */

Modified: ircu2/branches/mode/ircd/Makefile.am
===================================================================
--- ircu2/branches/mode/ircd/Makefile.am        2008-10-04 03:29:22 UTC (rev 
1885)
+++ ircu2/branches/mode/ircd/Makefile.am        2008-10-09 14:25:03 UTC (rev 
1886)
@@ -75,6 +75,7 @@
        ircd_snprintf.c \
        ircd_string.c \
        jupe.c \
+       keyspace.c \
        list.c \
        listener.c \
        m_account.c \
@@ -152,6 +153,8 @@
        m_whowas.c \
        match.c \
        memdebug.c \
+       mode.c \
+       mode-compat.c \
        motd.c \
        msgq.c \
        numnicks.c \
@@ -161,6 +164,7 @@
        parse.c \
        querycmds.c \
        random.c \
+       register.c \
        s_auth.c \
        s_bsd.c \
        s_conf.c \

Modified: ircu2/branches/mode/ircd/Makefile.in
===================================================================
--- ircu2/branches/mode/ircd/Makefile.in        2008-10-04 03:29:22 UTC (rev 
1885)
+++ ircu2/branches/mode/ircd/Makefile.in        2008-10-09 14:25:03 UTC (rev 
1886)
@@ -62,26 +62,26 @@
        ircd_crypt_native.c ircd_events.c ircd_features.c ircd_lexer.l \
        ircd_log.c ircd_md5.c ircd_parser.y ircd_relay.c ircd_reply.c \
        ircd_res.c ircd_reslib.c ircd_signal.c ircd_snprintf.c \
-       ircd_string.c jupe.c list.c listener.c m_account.c m_admin.c \
-       m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c m_close.c \
-       m_connect.c m_cprivmsg.c m_create.c m_defaults.c m_destruct.c \
-       m_desynch.c m_die.c m_endburst.c m_error.c m_get.c m_gline.c \
-       m_help.c m_info.c m_invite.c m_ison.c m_join.c m_jupe.c \
-       m_kick.c m_kill.c m_links.c m_list.c m_lusers.c m_map.c \
-       m_mode.c m_motd.c m_names.c m_nick.c m_notice.c m_oper.c \
-       m_opmode.c m_part.c m_pass.c m_ping.c m_pong.c m_privmsg.c \
-       m_privs.c m_proto.c m_pseudo.c m_quit.c m_rehash.c m_reset.c \
-       m_restart.c m_rping.c m_rpong.c m_server.c m_set.c m_settime.c \
-       m_silence.c m_squit.c m_stats.c m_time.c m_topic.c m_trace.c \
-       m_uping.c m_user.c m_userhost.c m_userip.c m_version.c \
-       m_wallchops.c m_wallops.c m_wallusers.c m_wallvoices.c m_who.c \
-       m_whois.c m_whowas.c match.c memdebug.c motd.c msgq.c \
-       numnicks.c opercmds.c os_generic.c packet.c parse.c \
-       querycmds.c random.c s_auth.c s_bsd.c s_conf.c s_debug.c \
-       s_err.c s_misc.c s_numeric.c s_serv.c s_stats.c s_user.c \
-       send.c uping.c userload.c whowas.c engine_poll.c \
-       engine_select.c engine_devpoll.c engine_epoll.c \
-       engine_kqueue.c
+       ircd_string.c jupe.c keyspace.c list.c listener.c m_account.c \
+       m_admin.c m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c \
+       m_close.c m_connect.c m_cprivmsg.c m_create.c m_defaults.c \
+       m_destruct.c m_desynch.c m_die.c m_endburst.c m_error.c \
+       m_get.c m_gline.c m_help.c m_info.c m_invite.c m_ison.c \
+       m_join.c m_jupe.c m_kick.c m_kill.c m_links.c m_list.c \
+       m_lusers.c m_map.c m_mode.c m_motd.c m_names.c m_nick.c \
+       m_notice.c m_oper.c m_opmode.c m_part.c m_pass.c m_ping.c \
+       m_pong.c m_privmsg.c m_privs.c m_proto.c m_pseudo.c m_quit.c \
+       m_rehash.c m_reset.c m_restart.c m_rping.c m_rpong.c \
+       m_server.c m_set.c m_settime.c m_silence.c m_squit.c m_stats.c \
+       m_time.c m_topic.c m_trace.c m_uping.c m_user.c m_userhost.c \
+       m_userip.c m_version.c m_wallchops.c m_wallops.c m_wallusers.c \
+       m_wallvoices.c m_who.c m_whois.c m_whowas.c match.c memdebug.c \
+       mode.c mode-compat.c motd.c msgq.c numnicks.c opercmds.c \
+       os_generic.c packet.c parse.c querycmds.c random.c register.c \
+       s_auth.c s_bsd.c s_conf.c s_debug.c s_err.c s_misc.c \
+       s_numeric.c s_serv.c s_stats.c s_user.c send.c uping.c \
+       userload.c whowas.c engine_poll.c engine_select.c \
+       engine_devpoll.c engine_epoll.c engine_kqueue.c
 @[EMAIL PROTECTED] = engine_poll.$(OBJEXT)
 @[EMAIL PROTECTED] = engine_select.$(OBJEXT)
 @[EMAIL PROTECTED] = engine_devpoll.$(OBJEXT)
@@ -98,42 +98,44 @@
        ircd_parser.$(OBJEXT) ircd_relay.$(OBJEXT) \
        ircd_reply.$(OBJEXT) ircd_res.$(OBJEXT) ircd_reslib.$(OBJEXT) \
        ircd_signal.$(OBJEXT) ircd_snprintf.$(OBJEXT) \
-       ircd_string.$(OBJEXT) jupe.$(OBJEXT) list.$(OBJEXT) \
-       listener.$(OBJEXT) m_account.$(OBJEXT) m_admin.$(OBJEXT) \
-       m_asll.$(OBJEXT) m_away.$(OBJEXT) m_burst.$(OBJEXT) \
-       m_cap.$(OBJEXT) m_clearmode.$(OBJEXT) m_close.$(OBJEXT) \
-       m_connect.$(OBJEXT) m_cprivmsg.$(OBJEXT) m_create.$(OBJEXT) \
-       m_defaults.$(OBJEXT) m_destruct.$(OBJEXT) m_desynch.$(OBJEXT) \
-       m_die.$(OBJEXT) m_endburst.$(OBJEXT) m_error.$(OBJEXT) \
-       m_get.$(OBJEXT) m_gline.$(OBJEXT) m_help.$(OBJEXT) \
-       m_info.$(OBJEXT) m_invite.$(OBJEXT) m_ison.$(OBJEXT) \
-       m_join.$(OBJEXT) m_jupe.$(OBJEXT) m_kick.$(OBJEXT) \
-       m_kill.$(OBJEXT) m_links.$(OBJEXT) m_list.$(OBJEXT) \
-       m_lusers.$(OBJEXT) m_map.$(OBJEXT) m_mode.$(OBJEXT) \
-       m_motd.$(OBJEXT) m_names.$(OBJEXT) m_nick.$(OBJEXT) \
-       m_notice.$(OBJEXT) m_oper.$(OBJEXT) m_opmode.$(OBJEXT) \
-       m_part.$(OBJEXT) m_pass.$(OBJEXT) m_ping.$(OBJEXT) \
-       m_pong.$(OBJEXT) m_privmsg.$(OBJEXT) m_privs.$(OBJEXT) \
-       m_proto.$(OBJEXT) m_pseudo.$(OBJEXT) m_quit.$(OBJEXT) \
-       m_rehash.$(OBJEXT) m_reset.$(OBJEXT) m_restart.$(OBJEXT) \
-       m_rping.$(OBJEXT) m_rpong.$(OBJEXT) m_server.$(OBJEXT) \
-       m_set.$(OBJEXT) m_settime.$(OBJEXT) m_silence.$(OBJEXT) \
-       m_squit.$(OBJEXT) m_stats.$(OBJEXT) m_time.$(OBJEXT) \
-       m_topic.$(OBJEXT) m_trace.$(OBJEXT) m_uping.$(OBJEXT) \
-       m_user.$(OBJEXT) m_userhost.$(OBJEXT) m_userip.$(OBJEXT) \
-       m_version.$(OBJEXT) m_wallchops.$(OBJEXT) m_wallops.$(OBJEXT) \
-       m_wallusers.$(OBJEXT) m_wallvoices.$(OBJEXT) m_who.$(OBJEXT) \
-       m_whois.$(OBJEXT) m_whowas.$(OBJEXT) match.$(OBJEXT) \
-       memdebug.$(OBJEXT) motd.$(OBJEXT) msgq.$(OBJEXT) \
-       numnicks.$(OBJEXT) opercmds.$(OBJEXT) os_generic.$(OBJEXT) \
-       packet.$(OBJEXT) parse.$(OBJEXT) querycmds.$(OBJEXT) \
-       random.$(OBJEXT) s_auth.$(OBJEXT) s_bsd.$(OBJEXT) \
-       s_conf.$(OBJEXT) s_debug.$(OBJEXT) s_err.$(OBJEXT) \
-       s_misc.$(OBJEXT) s_numeric.$(OBJEXT) s_serv.$(OBJEXT) \
-       s_stats.$(OBJEXT) s_user.$(OBJEXT) send.$(OBJEXT) \
-       uping.$(OBJEXT) userload.$(OBJEXT) whowas.$(OBJEXT) \
-       $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5)
+       ircd_string.$(OBJEXT) jupe.$(OBJEXT) keyspace.$(OBJEXT) \
+       list.$(OBJEXT) listener.$(OBJEXT) m_account.$(OBJEXT) \
+       m_admin.$(OBJEXT) m_asll.$(OBJEXT) m_away.$(OBJEXT) \
+       m_burst.$(OBJEXT) m_cap.$(OBJEXT) m_clearmode.$(OBJEXT) \
+       m_close.$(OBJEXT) m_connect.$(OBJEXT) m_cprivmsg.$(OBJEXT) \
+       m_create.$(OBJEXT) m_defaults.$(OBJEXT) m_destruct.$(OBJEXT) \
+       m_desynch.$(OBJEXT) m_die.$(OBJEXT) m_endburst.$(OBJEXT) \
+       m_error.$(OBJEXT) m_get.$(OBJEXT) m_gline.$(OBJEXT) \
+       m_help.$(OBJEXT) m_info.$(OBJEXT) m_invite.$(OBJEXT) \
+       m_ison.$(OBJEXT) m_join.$(OBJEXT) m_jupe.$(OBJEXT) \
+       m_kick.$(OBJEXT) m_kill.$(OBJEXT) m_links.$(OBJEXT) \
+       m_list.$(OBJEXT) m_lusers.$(OBJEXT) m_map.$(OBJEXT) \
+       m_mode.$(OBJEXT) m_motd.$(OBJEXT) m_names.$(OBJEXT) \
+       m_nick.$(OBJEXT) m_notice.$(OBJEXT) m_oper.$(OBJEXT) \
+       m_opmode.$(OBJEXT) m_part.$(OBJEXT) m_pass.$(OBJEXT) \
+       m_ping.$(OBJEXT) m_pong.$(OBJEXT) m_privmsg.$(OBJEXT) \
+       m_privs.$(OBJEXT) m_proto.$(OBJEXT) m_pseudo.$(OBJEXT) \
+       m_quit.$(OBJEXT) m_rehash.$(OBJEXT) m_reset.$(OBJEXT) \
+       m_restart.$(OBJEXT) m_rping.$(OBJEXT) m_rpong.$(OBJEXT) \
+       m_server.$(OBJEXT) m_set.$(OBJEXT) m_settime.$(OBJEXT) \
+       m_silence.$(OBJEXT) m_squit.$(OBJEXT) m_stats.$(OBJEXT) \
+       m_time.$(OBJEXT) m_topic.$(OBJEXT) m_trace.$(OBJEXT) \
+       m_uping.$(OBJEXT) m_user.$(OBJEXT) m_userhost.$(OBJEXT) \
+       m_userip.$(OBJEXT) m_version.$(OBJEXT) m_wallchops.$(OBJEXT) \
+       m_wallops.$(OBJEXT) m_wallusers.$(OBJEXT) \
+       m_wallvoices.$(OBJEXT) m_who.$(OBJEXT) m_whois.$(OBJEXT) \
+       m_whowas.$(OBJEXT) match.$(OBJEXT) memdebug.$(OBJEXT) \
+       mode.$(OBJEXT) mode-compat.$(OBJEXT) motd.$(OBJEXT) \
+       msgq.$(OBJEXT) numnicks.$(OBJEXT) opercmds.$(OBJEXT) \
+       os_generic.$(OBJEXT) packet.$(OBJEXT) parse.$(OBJEXT) \
+       querycmds.$(OBJEXT) random.$(OBJEXT) register.$(OBJEXT) \
+       s_auth.$(OBJEXT) s_bsd.$(OBJEXT) s_conf.$(OBJEXT) \
+       s_debug.$(OBJEXT) s_err.$(OBJEXT) s_misc.$(OBJEXT) \
+       s_numeric.$(OBJEXT) s_serv.$(OBJEXT) s_stats.$(OBJEXT) \
+       s_user.$(OBJEXT) send.$(OBJEXT) uping.$(OBJEXT) \
+       userload.$(OBJEXT) whowas.$(OBJEXT) $(am__objects_1) \
+       $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+       $(am__objects_5)
 nodist_ircd_OBJECTS = version.$(OBJEXT)
 ircd_OBJECTS = $(am_ircd_OBJECTS) $(nodist_ircd_OBJECTS)
 am__DEPENDENCIES_1 =
@@ -297,26 +299,26 @@
        ircd_crypt_native.c ircd_events.c ircd_features.c ircd_lexer.l \
        ircd_log.c ircd_md5.c ircd_parser.y ircd_relay.c ircd_reply.c \
        ircd_res.c ircd_reslib.c ircd_signal.c ircd_snprintf.c \
-       ircd_string.c jupe.c list.c listener.c m_account.c m_admin.c \
-       m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c m_close.c \
-       m_connect.c m_cprivmsg.c m_create.c m_defaults.c m_destruct.c \
-       m_desynch.c m_die.c m_endburst.c m_error.c m_get.c m_gline.c \
-       m_help.c m_info.c m_invite.c m_ison.c m_join.c m_jupe.c \
-       m_kick.c m_kill.c m_links.c m_list.c m_lusers.c m_map.c \
-       m_mode.c m_motd.c m_names.c m_nick.c m_notice.c m_oper.c \
-       m_opmode.c m_part.c m_pass.c m_ping.c m_pong.c m_privmsg.c \
-       m_privs.c m_proto.c m_pseudo.c m_quit.c m_rehash.c m_reset.c \
-       m_restart.c m_rping.c m_rpong.c m_server.c m_set.c m_settime.c \
-       m_silence.c m_squit.c m_stats.c m_time.c m_topic.c m_trace.c \
-       m_uping.c m_user.c m_userhost.c m_userip.c m_version.c \
-       m_wallchops.c m_wallops.c m_wallusers.c m_wallvoices.c m_who.c \
-       m_whois.c m_whowas.c match.c memdebug.c motd.c msgq.c \
-       numnicks.c opercmds.c os_generic.c packet.c parse.c \
-       querycmds.c random.c s_auth.c s_bsd.c s_conf.c s_debug.c \
-       s_err.c s_misc.c s_numeric.c s_serv.c s_stats.c s_user.c \
-       send.c uping.c userload.c whowas.c $(am__append_1) \
-       $(am__append_2) $(am__append_3) $(am__append_4) \
-       $(am__append_5)
+       ircd_string.c jupe.c keyspace.c list.c listener.c m_account.c \
+       m_admin.c m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c \
+       m_close.c m_connect.c m_cprivmsg.c m_create.c m_defaults.c \
+       m_destruct.c m_desynch.c m_die.c m_endburst.c m_error.c \
+       m_get.c m_gline.c m_help.c m_info.c m_invite.c m_ison.c \
+       m_join.c m_jupe.c m_kick.c m_kill.c m_links.c m_list.c \
+       m_lusers.c m_map.c m_mode.c m_motd.c m_names.c m_nick.c \
+       m_notice.c m_oper.c m_opmode.c m_part.c m_pass.c m_ping.c \
+       m_pong.c m_privmsg.c m_privs.c m_proto.c m_pseudo.c m_quit.c \
+       m_rehash.c m_reset.c m_restart.c m_rping.c m_rpong.c \
+       m_server.c m_set.c m_settime.c m_silence.c m_squit.c m_stats.c \
+       m_time.c m_topic.c m_trace.c m_uping.c m_user.c m_userhost.c \
+       m_userip.c m_version.c m_wallchops.c m_wallops.c m_wallusers.c \
+       m_wallvoices.c m_who.c m_whois.c m_whowas.c match.c memdebug.c \
+       mode.c mode-compat.c motd.c msgq.c numnicks.c opercmds.c \
+       os_generic.c packet.c parse.c querycmds.c random.c register.c \
+       s_auth.c s_bsd.c s_conf.c s_debug.c s_err.c s_misc.c \
+       s_numeric.c s_serv.c s_stats.c s_user.c send.c uping.c \
+       userload.c whowas.c $(am__append_1) $(am__append_2) \
+       $(am__append_3) $(am__append_4) $(am__append_5)
 ircd_LDADD = $(LEXLIB)
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -438,6 +440,7 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@@ -515,6 +518,8 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@@ -524,6 +529,7 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@

Modified: ircu2/branches/mode/ircd/ircd.c
===================================================================
--- ircu2/branches/mode/ircd/ircd.c     2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/ircd.c     2008-10-09 14:25:03 UTC (rev 1886)
@@ -42,6 +42,8 @@
 #include "jupe.h"
 #include "list.h"
 #include "match.h"
+#include "mode.h"
+#include "mode-compat.h"
 #include "msg.h"
 #include "numeric.h"
 #include "numnicks.h"
@@ -929,6 +931,10 @@
   initmsgtree();
   initstats();
 
+  /* Initialize modes */
+  mode_init();
+  mode_compat_init();
+
   /* we need this for now, when we're modular this 
      should be removed -- hikari */
   ircd_crypt_init();

Modified: ircu2/branches/mode/ircd/keyspace.c
===================================================================
--- ircu2/branches/mode/ircd/keyspace.c 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/keyspace.c 2008-10-09 14:25:03 UTC (rev 1886)
@@ -43,14 +43,15 @@
  *
  * @section keyman Managing Keys
  *
- * Keys are represented by the type key_t, and they are allocated from
- * \a keyspaces, which are specified by a keyspace_t object.  This
- * keyspace_t object must be initialized either with KEYSPACE_INIT()
- * or ks_init()--the latter allowing for dynamic initialization.  Once
- * keys are allocated, the keyspace_t object will contain some
- * allocated memory, which may be reclaimed by calling the ks_clean()
- * routine on the keyspace.  Note that the keyspace must be
- * reinitialized by a call to ks_init() before it can be used again.
+ * Keys are represented by the type ircd_key_t, and they are allocated
+ * from \a keyspaces, which are specified by a keyspace_t object.
+ * This keyspace_t object must be initialized either with
+ * KEYSPACE_INIT() or ks_init()--the latter allowing for dynamic
+ * initialization.  Once keys are allocated, the keyspace_t object
+ * will contain some allocated memory, which may be reclaimed by
+ * calling the ks_clean() routine on the keyspace.  Note that the
+ * keyspace must be reinitialized by a call to ks_init() before it can
+ * be used again.
  *
  * Allocation of a key is simple--simply call the ks_reserve()
  * function, passing it a pointer to the keyspace.  If no more keys
@@ -100,11 +101,11 @@
  * @section infokey Important Subsystem Information
  *
  * This subsystem provides one structure--struct KeySpace--and 2
- * types: key_t, for the value of keys; and keyspace_t, corresponding
- * to the struct KeySpace.  In particular, keyspace_t should be
- * treated as opaque by all callers, only referenced through the
- * provided macros, whereas key_t can be treated as an integral type
- * suitable for use as an array index.
+ * types: ircd_key_t, for the value of keys; and keyspace_t,
+ * corresponding to the struct KeySpace.  In particular, keyspace_t
+ * should be treated as opaque by all callers, only referenced through
+ * the provided macros, whereas ircd_key_t can be treated as an
+ * integral type suitable for use as an array index.
  *
  * This subsystem is intentionally designed to pull in as few other
  * ircu subsystems as possible, in order to minimize issues with
@@ -126,10 +127,10 @@
  * @param[in,out] space The keyspace from which to allocate the key.
  * @return The reserved key, or #KEY_INVKEY if one could not be allocated.
  */
-key_t
+ircd_key_t
 ks_reserve(keyspace_t* space)
 {
-  key_t key = KEY_INVKEY;
+  ircd_key_t key = KEY_INVKEY;
 
   assert(KEYSPACE_CHECK(space));
 
@@ -205,7 +206,7 @@
  * @param[in] key The key to release.
  */
 void
-ks_release(keyspace_t* space, key_t key)
+ks_release(keyspace_t* space, ircd_key_t key)
 {
   assert(KEYSPACE_CHECK(space));
 

Modified: ircu2/branches/mode/ircd/mode-compat.c
===================================================================
--- ircu2/branches/mode/ircd/mode-compat.c      2008-10-04 03:29:22 UTC (rev 
1885)
+++ ircu2/branches/mode/ircd/mode-compat.c      2008-10-09 14:25:03 UTC (rev 
1886)
@@ -26,13 +26,13 @@
 #include "mode.h"
 #include "register.h"
 
-/** Compute the number of entries in a modedesc_t array. */
-#define mdcount(arr)           (sizeof(arr) / sizeof(modedesc_t))
+/** Compute the number of entries in a mode_desc_t array. */
+#define mdcount(arr)           (sizeof(arr) / sizeof(mode_desc_t))
 
 /** Initial list of channel modes.  Note that this must be the same
  * order as enum ChanModes!
  */
-modedesc_t _cmodes[] = {
+mode_desc_t _cmodes[] = {
   MODE_DESC_INIT("CHANOP",     'o', "Channel operator.",
                 MDPAR_ARG_CLI | MDPAR_TYPE_REQARG | MDPOL_AUTHZ_CHOP |
                 MDFLAG_LIST, '@', 15),
@@ -73,13 +73,13 @@
                 MDPAR_ARG_STR | MDPAR_TYPE_REQARG | MDPOL_AUTHZ_CHOP |
                 MDFLAG_VIS_CHOP | MDFLAG_ONESHOT, 0, 0),
   MODE_DESC_INIT("WASDELJOINS",        'd', "Channel has delayed joins.",
-                MDFLAG_AUTHZ_NONE, 0, 0)
+                MDPOL_AUTHZ_NONE, 0, 0)
 };
 
 /** Initial list of user modes.  Note that this must be the same order
  * as enum UserModes!
  */
-modedesc_t _umodes[] = {
+mode_desc_t _umodes[] = {
   MODE_DESC_INIT("LOCOP",      'O', "Local IRC operator.",
                 MDPOL_AUTHZ_OPER, 0, 0),
   MODE_DESC_INIT("OPER",       'o', "Global IRC operator.",
@@ -107,7 +107,7 @@
 /** Initial list of server modes.  Note that this must be the same
  * order as enum ServModes!
  */
-modedesc_t _smodes[] = {
+mode_desc_t _smodes[] = {
   MODE_DESC_INIT("HUB",                'h', "Server is a hub.",
                 MDPOL_AUTHZ_SERV, 0, 0),
   MODE_DESC_INIT("SERVICE",    's', "Server is a service.",
@@ -117,13 +117,13 @@
 };
 
 /** Mode list for channels. */
-modelist_t chanmodes = MODE_LIST_INIT("channel", 0);
+mode_list_t chanmodes = MODE_LIST_INIT("channel", 0);
 
 /** Mode list for users. */
-modelist_t usermodes = MODE_LIST_INIT("user", 0);
+mode_list_t usermodes = MODE_LIST_INIT("user", 0);
 
 /** Mode list for servers. */
-modelist_t servmodes = MODE_LIST_INIT("server", 0);
+mode_list_t servmodes = MODE_LIST_INIT("server", 0);
 
 /** Initialize the mode compatibility layer. */
 void
@@ -135,7 +135,10 @@
   reg(MODE_TABLE, &servmodes);
 
   /* Now, let's register the mode descriptors. */
-  regtab_n(&chanmodes, _cmodes, mdcount(_cmodes), sizeof(modedesc_t));
-  regtab_n(&usermodes, _umodes, mdcount(_umodes), sizeof(modedesc_t));
-  regtab_n(&servmodes, _smodes, mdcount(_smodes), sizeof(modedesc_t));
+  regtab_n((regtab_t*) &chanmodes, _cmodes, mdcount(_cmodes),
+          sizeof(mode_desc_t));
+  regtab_n((regtab_t*) &usermodes, _umodes, mdcount(_umodes),
+          sizeof(mode_desc_t));
+  regtab_n((regtab_t*) &servmodes, _smodes, mdcount(_smodes),
+          sizeof(mode_desc_t));
 }

Modified: ircu2/branches/mode/ircd/mode.c
===================================================================
--- ircu2/branches/mode/ircd/mode.c     2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/mode.c     2008-10-09 14:25:03 UTC (rev 1886)
@@ -34,12 +34,12 @@
  * @return 0 for valid mode list, non-zero otherwise.
  */
 static int
-ml_reg(regtab_t* table, modelist_t* ml)
+ml_reg(regtab_t* table, mode_list_t* ml)
 {
   /* Sanity-check the mode list */
   if (reg_magic(&ml->ml_table) != MODE_DESC_MAGIC ||
-      reg_reg(&ml->ml_table) != _mode_desc_reg ||
-      reg_unreg(&ml->ml_table) != _mode_desc_unreg)
+      reg_reg(&ml->ml_table) != (reg_t) _mode_desc_reg ||
+      reg_unreg(&ml->ml_table) != (unreg_t) _mode_desc_unreg)
     return -2;
 
   /* Initialize the keyspace and the maps */
@@ -51,16 +51,16 @@
 }
 
 /** Remove all existing mode descriptors from a mode list.
- * @param[in,out] ml Pointer to modelist_t.
- * @param[in,out] md Pointer to modedesc_t.
+ * @param[in,out] ml Pointer to mode_list_t.
+ * @param[in,out] md Pointer to mode_desc_t.
  * @param[in] extra Extra pointer passed to regtab_iter().
  * @return 0 to continue iteration.
  */
 static int
-ml_unreg_flush(modelist_t* ml, modedesc_t* md, void* extra)
+ml_unreg_flush(mode_list_t* ml, mode_desc_t* md, void* extra)
 {
   /* unregister the mode descriptor */
-  unregtab(ml, md);
+  unregtab((regtab_t*) ml, md);
 
   return 0;
 }
@@ -71,7 +71,7 @@
  * @return 0 to accept unregistration.
  */
 static int
-ml_unreg(regtab_t* table, modelist_t* ml)
+ml_unreg(regtab_t* table, mode_list_t* ml)
 {
   /* Remove all descriptors from the table */
   regtab_iter(&ml->ml_table, (regiter_t) ml_unreg_flush, 0);
@@ -80,6 +80,8 @@
   ks_clean(&ml->ml_keyspace);
   memset(&ml->ml_smap, 0, sizeof(mode_desc_t*) * 256);
   memset(&ml->ml_mmap, 0, sizeof(mode_desc_t*) * MAX_MODES);
+
+  return 0;
 }
 
 /** Table of mode lists. */
@@ -92,7 +94,7 @@
  * @return 0 for valid mode descriptor, non-zero otherwise.
  */
 int
-_mode_desc_reg(modelist_t* ml, modedesc_t* md)
+_mode_desc_reg(mode_list_t* ml, mode_desc_t* md)
 {
   /* First, verify that the mode descriptor is valid */
   if (!md->md_switch)
@@ -119,7 +121,7 @@
  * @return 0 to accept unregistration.
  */
 int
-_mode_desc_unreg(modelist_t* ml, modedesc_t* md)
+_mode_desc_unreg(mode_list_t* ml, mode_desc_t* md)
 {
   /* Make sure the mode really is in the list... */
   if (ml->ml_smap[md->md_switch] != md || ml->ml_mmap[md->md_mode] != md)
@@ -152,13 +154,13 @@
 
 /** Determine if a specific mode should be added to the informative
  * mode string.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
  * @param[in] md Mode descriptor.
  * @param[in,out] is Info string state.
  * @return 0 to continue iteration.
  */
 static int
-mi_build(regtab_t* table, modedesc_t* md, struct info_state *is)
+mi_build(regtab_t* table, mode_desc_t* md, struct info_state *is)
 {
   assert(MODE_DESC_CHECK(md));
 
@@ -180,7 +182,7 @@
  * @return Buffer containing informative mode string.
  */
 char*
-mode_str_info(modelist_t* ml, char* buf, int* len, int args)
+mode_str_info(mode_list_t* ml, char* buf, int* len, int args)
 {
   struct info_state is = { buf, 0, 0, args };
 
@@ -219,13 +221,13 @@
 };
 
 /** Add specific modes to the appropriate string component.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
  * @param[in] md Mode descriptor.
  * @param[in,out] ms String buffer state.
  * @return 0 to continue iteration.
  */
 static int
-mm_build(regtab_t* table, modedesc_t* md, struct mode_state *ms)
+mm_build(regtab_t* table, mode_desc_t* md, struct mode_state *ms)
 {
   enum mode_type type;
 
@@ -238,7 +240,7 @@
     return 0; /* skip this one */
 
   /* Check the length... */
-  if (ms.len + 1 <= ms.size)
+  if (ms->len + 1 <= ms->size)
     return -1;
 
   /* Figure out which type of mode this is. */
@@ -265,15 +267,15 @@
     }
 
   /* OK, let's shift the string over one position */
-  memmove(ms.types[type] + 1, ms.types[type],
-         ms.len + 1 - (ms.types[type] - ms.buf));
+  memmove(ms->types[type] + 1, ms->types[type],
+         ms->len + 1 - (ms->types[type] - ms->buf));
 
   /* add this mode to the string */
-  *ms.types[type] = md->md_switch;
+  *ms->types[type] = md->md_switch;
 
   /* shift up the component pointers... */
   for (; type <= TYPE_D; type++)
-    ms.types[type]++;
+    ms->types[type]++;
 
   return 0;
 }
@@ -285,7 +287,7 @@
  * @return Buffer containing modes string.
  */
 char*
-mode_str_modes(modelist_t* ml, char* buf, int* len)
+mode_str_modes(mode_list_t* ml, char* buf, int* len)
 {
   struct mode_state ms = { buf, 0, 0, { 0, 0, 0, 0 } };
 
@@ -310,7 +312,7 @@
   ms.len = 3;
 
   /* Now let's iterate over all the mode descriptors */
-  if (regtab_iter(&ml->ml_table, (regiter_t) ms_build, &ms))
+  if (regtab_iter(&ml->ml_table, (regiter_t) mm_build, &ms))
     return 0; /* some kind of failure occurred */
 
   return ms.buf; /* return the buffer */
@@ -323,18 +325,18 @@
 struct pfx_state {
   int          count;          /**< Number of modes to enter. */
   int          max;            /**< Maximum number of modes to enter. */
-  modedesc_t*  modes[flag2prio(MDFLAG_PRIO) + 1];
+  mode_desc_t* modes[flag2prio(MDFLAG_PRIO) + 1];
                                /**< Modes contributing to prefix. */
 };
 
 /** Determine if a specific mode participates in the prefix calculation.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
  * @param[in] md Mode descriptor.
  * @param[in,out] ps Prefix string state.
  * @return 0 to continue iteration, non-zero if there is a problem.
  */
 static int
-mp_build(regtab_t* table, modedesc_t* md, struct pfx_state *ps)
+mp_build(regtab_t* table, mode_desc_t* md, struct pfx_state *ps)
 {
   assert(MODE_DESC_CHECK(md));
 
@@ -357,7 +359,7 @@
  * @return Buffer containing prefix string.
  */
 char*
-mode_str_prefix(modelist_t* ml, char* buf, int* len)
+mode_str_prefix(mode_list_t* ml, char* buf, int* len)
 {
   struct pfx_state ps;
   int i, j, offset;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to