sas Mon Jul 7 11:33:08 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/ircg ircg.c
Log:
Fixing
Index: php-src/ext/ircg/ircg.c
diff -u php-src/ext/ircg/ircg.c:1.137.2.12 php-src/ext/ircg/ircg.c:1.137.2.13
--- php-src/ext/ircg/ircg.c:1.137.2.12 Mon Jul 7 10:39:03 2003
+++ php-src/ext/ircg/ircg.c Mon Jul 7 11:33:08 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ircg.c,v 1.137.2.12 2003/07/07 14:39:03 sas Exp $ */
+/* $Id: ircg.c,v 1.137.2.13 2003/07/07 15:33:08 sas Exp $ */
/* {{{ includes */
@@ -1075,7 +1075,7 @@
}
-static void luserclient_handler(irconn_t *c, smart_str *users, smart_str *services,
smart_str *servers)
+static void luserclient_handler(irconn_t *c, smart_str *users, smart_str *services,
smart_str *servers, void *dummy)
{
php_irconn_t *conn = dummy;
smart_str m = {0};
@@ -1085,7 +1085,7 @@
msg_send(conn, &m);
}
-static void luserme_handler(irconn_t *c, smart_str *users, smart_str *servers)
+static void luserme_handler(irconn_t *c, smart_str *users, smart_str *servers, void
*dummy)
{
php_irconn_t *conn = dummy;
smart_str m = {0};
@@ -1095,7 +1095,7 @@
msg_send(conn, &m);
}
-static void luserop_t(irconn_t *dummy, smart_str *str)
+static void luserop_handler(irconn_t *c, smart_str *str, void *dummy)
{
php_irconn_t *conn = dummy;
smart_str m = {0};
@@ -1105,7 +1105,7 @@
msg_send(conn, &m);
}
-static void luserunknown_t(irconn_t *dummy, smart_str *str)
+static void luserunknown_handler(irconn_t *c, smart_str *str, void *dummy)
{
php_irconn_t *conn = dummy;
smart_str m = {0};
@@ -1115,7 +1115,7 @@
msg_send(conn, &m);
}
-static void luserchannels_t(irconn_t *dummy, smart_str *str)
+static void luserchannels_handler(irconn_t *c, smart_str *str, void *dummy)
{
php_irconn_t *conn = dummy;
smart_str m = {0};
@@ -1739,8 +1739,6 @@
irc_handle_command(&conn->conn, "WHO", ops ? 2 : 1, Z_STRVAL_PP(p2), "o");
- put_irconn(conn);
-
RETVAL_TRUE;
}
#endif
@@ -1768,7 +1766,6 @@
irc_handle_command(&conn->conn, "INVITE", 2, Z_STRVAL_PP(p3),
Z_STRVAL_PP(p2));
- put_irconn(conn);
RETVAL_TRUE;
}
@@ -1799,7 +1796,7 @@
if (!conn) RETURN_FALSE;
- irc_handle_command(&conn->conn, "NAMES", ac > 2 ? 2 : 1, Z_STRVAL_PP(p2),
Z_STRVAL_PP(p3));
+ irc_handle_command(&conn->conn, "NAMES", ac > 2 ? 2 : 1, Z_STRVAL_PP(p2), ac >
2 ? Z_STRVAL_PP(p3) : NULL);
RETVAL_TRUE;
}
/* }}} */
@@ -2132,8 +2129,10 @@
irc_set_realname(conn, &m);
}
#endif
-
-#define IFMSG(n, p, q) if (MSG(irconn, n)->ntoken != 0) irc_register_hook(conn, p, q)
+
+#define MSG_NOT_EMPTY(n) (MSG(irconn,n) && MSG(irconn,n)->ntoken != 0)
+
+#define IFMSG(n, p, q) if (MSG_NOT_EMPTY(n)) irc_register_hook(conn, p, q)
irc_register_hook(conn, IRCG_MSG, msg_handler);
irc_register_hook(conn, IRCG_QUIT, quit_handler);
@@ -2357,8 +2356,8 @@
}
/* }}} */
-/* {{{ proto bool ircg_nick(void)
- ??? */
+/* {{{ proto bool ircg_nick(int connection, string newnick)
+ Changes the nickname */
PHP_FUNCTION(ircg_nick)
{
zval **id, **newnick;
@@ -2380,8 +2379,32 @@
}
/* }}} */
-/* {{{ proto bool ircg_notice(void)
- ??? */
+/* {{{ proto bool ircg_list(int connection, string channel)
+ List topic/user count of channel(s) */
+PHP_FUNCTION(ircg_list)
+{
+ zval **id, **p2;
+ php_irconn_t *conn;
+ int ac = ZEND_NUM_ARGS();
+
+ if (ac != 2 || zend_get_parameters_ex(ac, &id, &p2) == FAILURE)
+ WRONG_PARAM_COUNT;
+
+ convert_to_long_ex(id);
+ convert_to_string_ex(p2);
+
+ conn = lookup_irconn(Z_LVAL_PP(id));
+
+ if (!conn) RETURN_FALSE;
+
+ irc_handle_command(&conn->conn, "LIST", 1, Z_STRVAL_PP(p2));
+
+ RETURN_TRUE;
+}
+/* }}} */
+
+/* {{{ proto bool ircg_notice(int connection, string recipient, string message)
+ Sends a one-way communication NOTICE to a target */
PHP_FUNCTION(ircg_notice)
{
zval **id, **recipient, **msg;
@@ -2666,9 +2689,9 @@
php_info_print_table_start();
php_info_print_table_header(2, "ircg support", "enabled");
- sprintf(buf, "%lu", getdtablesize());
+ sprintf(buf, "%d", getdtablesize());
php_info_print_table_row(2, "Maximum number of open fds", buf);
- sprintf(buf, "%lu", highest_fd);
+ sprintf(buf, "%d", highest_fd);
php_info_print_table_row(2, "Highest encountered fd", buf);
sprintf(buf, "%lu", cache_hits);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php