[prev in list] [next in list] [prev in thread] [next in thread]
List: xchat-perl
Subject: additions to perl.c
From: Mike Guidero <kymermosst () penguinpowered ! com>
Date: 2000-05-26 21:14:26
[Download RAW message or body]
okay, now that there's a devel version i can compile (1.5.2)... i've ported my
remaining current additions to it.
Summary:
- added IRC::perl_script_list() returns a list of loaded scripts and versions
- added IRC::user_list_short(channel,server) returns a list of nicks and
addresses suitable for assigning to a hash (leaves out +o and +v status), such
as: my %UList = IRC::user_list_short($Chan, $Serv);
These are both tested, and work correctly.
I'll also answer any questions, such as 'what for?' and all that.
--
Mike Guidero [KD7ILU] - Genius in disguise.
*** Al Gore asks: "Are Cheerios are bagel or donut seeds?" ***
PGP Public Key: (Unavailable at this time)
Fingerprint : DD87 C663 1767 B11F 1EDE D2AA 0DD1 89C6 56D7 109A
["perl.c-diff-mag" (text/plain)]
126a127,128
> XS (XS_IRC_user_list_short); /*MAG*/
> XS (XS_IRC_perl_script_list); /*MAG*/
307a310,311
> newXS ("IRC::user_list_short", XS_IRC_user_list_short, "IRC"); /*MAG*/
> newXS ("IRC::perl_script_list", XS_IRC_perl_script_list, "IRC"); /*MAG*/
1127a1132,1204
>
> /* MAG030600: BEGIN IRC::user_list_short */
> /*
>
> IRC::user_list_short( channel, server )
> returns a shorter user list consisting of pairs of nick & user@host
> suitable for assigning to a hash. modified IRC::user_list()
>
> */
> XS (XS_IRC_user_list_short)
> {
> struct User *user;
> struct session *sess;
> char *channel, *server;
> GSList *list = sess_list;
> int i = 0, junk;
> dXSARGS;
> items = 0;
>
> channel = SvPV (ST (0), junk);
> server = SvPV (ST (1), junk);
>
> while (list)
> {
> sess = (struct session *) list->data;
> if (!server[0] || !strcasecmp (sess->server->servername, server))
> {
> if (!strcasecmp (sess->channel, channel) && !sess->is_dialog && !sess->is_shell)
> {
> list = sess->userlist;
> while (list)
> {
> user = (struct User *)list->data;
> XST_mPV (i, user->nick);
> i++;
> if (user->hostname)
> XST_mPV (i, user->hostname);
> else
> XST_mPV (i, "FETCHING");
> i++;
> list = list->next;
> }
> XSRETURN (i);
> }
> }
> list = list->next;
> }
> XSRETURN (i);
> }
> /* MAG030600: END */
>
>
> /* MAG030600 BEGIN IRC::perl_script_list() */
> /* return a list of currently loaded perl script names and versions */
> XS (XS_IRC_perl_script_list) {
> int i = 0;
> GSList *handler;
>
> dXSARGS;
>
> handler = perl_list;
> while (handler)
> {
> struct perlscript *scp = handler->data;
> XST_mPV (i, scp->name);
> i++;
> XST_mPV (i, scp->version);
> i++;
> handler = handler->next;
> }
> XSRETURN(i);
> }
> /* MAG030600 END */
-
XChat-perl: mailing list for XChat perl scripters
Archive: http://mail.nl.linux.org/
Posted By: Mike Guidero <kymermosst@penguinpowered.com>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic