- s = strchr(para, ','); /* Recursively call m_names for each comma-separated channel. */
- if (s) {
- parv[1+!!showingdelayed] = ++s;
- m_names(cptr, sptr, parc, parv);
- }
-
- /*
- * Special Case 1: "/names 0".
- * Full list as per RFC.
- */
-
- if (!*para) {
- int idx;
- int mlen;
- int flag;
- struct Channel *ch3ptr;
- char buf[BUFSIZE];
-
- mlen = strlen(cli_name(&me)) + 10 + strlen(cli_name(sptr));
-
- /* List all visible channels/visible members */
-
- for (ch2ptr = GlobalChannelList; ch2ptr; ch2ptr = ch2ptr->next)
- {
- if (!ShowChannel(sptr, ch2ptr))
- continue; /* Don't show secret chans. */
-
- if (find_channel_member(sptr, ch2ptr))
- {
- do_names(sptr, ch2ptr, showingdelayed|NAMES_ALL); /* Full list if we're in this chan. */
- } else {
- do_names(sptr, ch2ptr, showingdelayed|NAMES_VIS);
- }
- }