X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_ircclient.c;h=2ffa331e25ca8f272e8aed67c6406ff9bbdebbca;hb=809c285b4b918d2a670100639054d7b76c7d7b3a;hp=a696473452f8a337afc7352a280fb4e59e7ad44f;hpb=d28df7e956ce763677f7917c4404de6018531753;p=m6w6%2Fext-ircclient diff --git a/php_ircclient.c b/php_ircclient.c index a696473..2ffa331 100644 --- a/php_ircclient.c +++ b/php_ircclient.c @@ -60,7 +60,7 @@ done: const zend_function_entry php_ircclient_function_entry[] = { ZEND_NS_FENTRY("irc\\client", parse_origin, ZEND_FN(parse_origin), NULL, 0) - PHP_FE_END + {0} }; zend_module_entry ircclient_module_entry = { @@ -653,7 +653,7 @@ PHP_METHOD(Session, doChannelMode) if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &chan_str, &chan_len, &mode_str, &mode_len)) { php_ircclient_session_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC); - if (0 != irc_cmd_topic(obj->sess, chan_str, mode_str)) { + if (0 != irc_cmd_channel_mode(obj->sess, chan_str, mode_str)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", irc_strerror(irc_errno(obj->sess))); RETVAL_FALSE; } else { @@ -832,7 +832,22 @@ PHP_METHOD(Session, doCtcpRequest) } } +PHP_METHOD(Session, doRaw) +{ + char *msg_str; + int msg_len; + if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &msg_str, &msg_len)) { + php_ircclient_session_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC); + + if (0 != irc_send_raw(obj->sess, "%.*s", msg_len, msg_str)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", irc_strerror(irc_errno(obj->sess))); + RETVAL_FALSE; + } else { + RETVAL_TRUE; + } + } +} PHP_METHOD(Session, onConnect) {} PHP_METHOD(Session, onNick) {} @@ -888,6 +903,8 @@ zend_function_entry php_ircclient_session_method_entry[] = { ME(doCtcpReply) ME(doCtcpRequest) + ME(doRaw) + ME(onConnect) ME(onNick) ME(onQuit) @@ -910,7 +927,7 @@ zend_function_entry php_ircclient_session_method_entry[] = { ME(onDccChatReq) ME(onDccSendReq) ME(onError) - PHP_FE_END + {0} }; PHP_MINIT_FUNCTION(ircclient)