sas Wed Sep 25 15:20:23 2002 EDT Modified files: /php4/ext/ircg ircg.c Log: Add support for LIST Index: php4/ext/ircg/ircg.c diff -u php4/ext/ircg/ircg.c:1.135 php4/ext/ircg/ircg.c:1.136 --- php4/ext/ircg/ircg.c:1.135 Sat Sep 21 16:14:18 2002 +++ php4/ext/ircg/ircg.c Wed Sep 25 15:20:23 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ircg.c,v 1.135 2002/09/21 20:14:18 sas Exp $ */ +/* $Id: ircg.c,v 1.136 2002/09/25 19:20:23 sas Exp $ */ /* {{{ includes */ @@ -99,6 +99,8 @@ FMT_MSG_BANLIST, FMT_MSG_BANLIST_END, FMT_MSG_DISCONNECTED, + FMT_MSG_LIST, + FMT_MSG_LISTEND, NO_FMTS }; /* }}} */ @@ -252,7 +254,9 @@ "%f sets channel operator flag of %t to %m on %c<br />", "banned from %c: %m<br />", "end of ban list for %c<br />", - "You have been disconnected<br />" + "You have been disconnected<br />", + "Channel %c has %t users and the topic is '%m'<br />", + "End of LIST<br />" }; /* }}} */ @@ -948,6 +952,27 @@ msg_send(conn, &m); } +static void list_handler(irconn_t *c, smart_str *channel, smart_str *visible, + smart_str *topic, void *dummy) +{ + php_irconn_t *conn = dummy; + smart_str m = {0}; + + FORMAT_MSG(conn, FMT_MSG_LIST, channel, visible, NULL, topic, &m, + conn->conn.username, conn->conn.username_len); + msg_send(conn, &m); +} + +static void listend_handler(irconn_t *c, void *dummy) +{ + php_irconn_t *conn = dummy; + smart_str m = {0}; + + FORMAT_MSG(conn, FMT_MSG_LISTEND, NULL, NULL, NULL, NULL, &m, + conn->conn.username, conn->conn.username_len); + msg_send(conn, &m); +} + /* }}} */ /* {{{ Post-connection error-storage */ @@ -956,8 +981,8 @@ * This is an internal API which serves the purpose to store the reason * for terminating a connection. The termination will cause the * connection id to become invalid. A script can then use a - * function to retrieve the last error message which was received - * from the IRC server, and will usually present a nicely formatted + * function to retrieve the last error message associated with that id + * and will usually present a nicely formatted * error message to the end-user. * * We automatically garbage-collect every GC_INTVL seconds, so there is @@ -1811,6 +1836,13 @@ irc_register_hook(conn, IRCG_BANLIST, banlist_handler); irc_register_hook(conn, IRCG_ENDOFBANLIST, end_of_banlist_handler); #endif + +#if IRCG_API_VERSION >= 20020922 + /* RPL_LIST/RPL_LISTEND */ + irc_register_hook(conn, IRCG_LIST, list_handler); + irc_register_hook(conn, IRCG_LISTEND, listend_handler); +#endif + } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php