ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/hybrid-ircservices-1/modules/protocol/hybrid.c
(Generate patch)

Comparing hybrid-ircservices-1/modules/protocol/hybrid.c (file contents):
Revision 1201 by michael, Mon Aug 22 18:55:33 2011 UTC vs.
Revision 1202 by michael, Mon Aug 22 19:21:15 2011 UTC

# Line 16 | Line 16
16   #include "banexcept.c"
17   #include "invitemask.c"
18   #include "sjoin.c"
19 #include "svsnick.c"
19  
20   /*************************************************************************/
21  
# Line 38 | Line 37 | struct modedata_init {
37  
38   static const struct modedata_init new_usermodes[] = {
39      {'a', {0x00000040,0,0,0,0}},    /* Server admin */
40 <    {'r', {0x00000020,0,0,0,0, MI_REGISTERED}},    /* registered nick */
40 >    {'r', {0x00000020,0,0,0, MI_REGISTERED}},    /* registered nick */
41   };
42  
43   static const struct modedata_init new_chanmodes[] = {
# Line 240 | Line 239 | static void do_send_nickchange(const cha
239  
240   /*************************************************************************/
241  
242 + /* Send a SVSNICK command to change the nickname of a user on another server. */
243 + static void
244 + do_send_nickchange_remote(const char *nick, const char *newnick)
245 + {
246 +  send_cmd(ServerName, "SVSNICK %s %s :%ld", nick, newnick, (long)time(NULL));
247 + }
248 +
249   /* Send a command to change a user's "real name". */
250  
251   static void do_send_namechange(const char *nick, const char *newname)
# Line 438 | Line 444 | int init_module(void)
444   {
445      protocol_name     = "Hybrid";
446      protocol_version  = "8.0+";
447 <    protocol_features = 0;
447 >    protocol_features = PF_CHANGENICK;
448      protocol_nickmax  = 9;
449  
450      if (!register_messages(hybrid_messages)) {
# Line 459 | Line 465 | int init_module(void)
465          return 0;
466      }
467  
468 <    if (!init_sjoin() || !init_svsnick("SVSNICK")) {
468 >    if (!init_sjoin())
469          return 0;
464    }
470  
471      init_modes();
472  
473      irc_lowertable['^'] = '~';
474  
475 <    send_nick          = do_send_nick;
476 <    send_nickchange    = do_send_nickchange;
477 <    send_namechange    = do_send_namechange;
478 <    send_server        = do_send_server;
479 <    send_server_remote = do_send_server_remote;
480 <    wallops            = do_wallops;
481 <    notice_all         = do_notice_all;
482 <    send_channel_cmd   = do_send_channel_cmd;
483 <    pseudoclient_modes = "+i";
484 <    enforcer_modes     = "+i";
485 <    pseudoclient_oper  = 1;
475 >    send_nick              = do_send_nick;
476 >    send_nickchange        = do_send_nickchange;
477 >    send_nickchange_remote = do_send_nickchange_remote;
478 >    send_namechange        = do_send_namechange;
479 >    send_server            = do_send_server;
480 >    send_server_remote     = do_send_server_remote;
481 >    wallops                = do_wallops;
482 >    notice_all             = do_notice_all;
483 >    send_channel_cmd       = do_send_channel_cmd;
484 >    pseudoclient_modes     = "+i";
485 >    enforcer_modes         = "+i";
486 >    pseudoclient_oper      = 1;
487  
488      return 1;
489   }
# Line 495 | Line 501 | int exit_module(int shutdown)
501          exit_invitemask();
502      if (protocol_features & PF_BANEXCEPT)
503          exit_banexcept();
504 <    exit_svsnick();
504 >
505      exit_sjoin();
506  
507      remove_callback(NULL, "set topic", do_set_topic);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines