DECLARE_MODULE_AV1(join, NULL, NULL, join_clist, NULL, NULL, "$Revision: 3494 $");
-static void do_join_0(struct Client *client_p, struct Client *source_p);
-static int check_channel_name_loc(struct Client *source_p, const char *name);
-
static void set_final_mode(struct Mode *mode, struct Mode *oldmode);
static void remove_our_modes(struct Channel *chptr, struct Client *source_p);
static int
m_join(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
- user_join(source_p, parv[1], parc > 2 ? parv[2] : NULL); /* channel.c */
+ user_join(client_p, source_p, parv[1], parc > 2 ? parv[2] : NULL); /* channel.c */
return 0;
}
return 0;
}
-/*
- * do_join_0
- *
- * inputs - pointer to client doing join 0
- * output - NONE
- * side effects - Use has decided to join 0. This is legacy
- * from the days when channels were numbers not names. *sigh*
- */
-static void
-do_join_0(struct Client *client_p, struct Client *source_p)
-{
- struct membership *msptr;
- struct Channel *chptr = NULL;
- rb_dlink_node *ptr;
-
- /* Finish the flood grace period... */
- if(MyClient(source_p) && !IsFloodDone(source_p))
- flood_endgrace(source_p);
-
- sendto_server(client_p, NULL, CAP_TS6, NOCAPS, ":%s JOIN 0", use_id(source_p));
-
- while((ptr = source_p->user->channel.head))
- {
- if(MyConnect(source_p) &&
- !IsOper(source_p) && !IsExemptSpambot(source_p))
- check_spambot_warning(source_p, NULL);
-
- msptr = ptr->data;
- chptr = msptr->chptr;
- sendto_channel_local(ALL_MEMBERS, chptr, ":%s!%s@%s PART %s",
- source_p->name,
- source_p->username, source_p->host, chptr->chname);
- remove_user_from_channel(msptr);
- }
-}
-
-static int
-check_channel_name_loc(struct Client *source_p, const char *name)
-{
- const char *p;
-
- s_assert(name != NULL);
- if(EmptyString(name))
- return 0;
-
- if(ConfigFileEntry.disable_fake_channels && !IsOper(source_p))
- {
- for(p = name; *p; ++p)
- {
- if(!IsChanChar(*p) || IsFakeChanChar(*p))
- return 0;
- }
- }
- else
- {
- for(p = name; *p; ++p)
- {
- if(!IsChanChar(*p))
- return 0;
- }
- }
-
- if(ConfigChannel.only_ascii_channels)
- {
- for(p = name; *p; ++p)
- if(*p < 33 || *p > 126)
- return 0;
- }
-
- return 1;
-}
static void
set_final_mode(struct Mode *mode, struct Mode *oldmode)