cvs: embed /php-irssi .cvsignore Makefile.am ext-irssi.c genfe.php settings.c theme.c

[email protected] ("Wez Furlong") Tue, 01 Apr 2003 17:10:29 -0000
Newsgroups php.embed.cvs
Message-ID <cvswez1049217029@cvsserver>
--wez1049217029
Content-Type: text/plain

wez		Tue Apr  1 12:10:29 2003 EDT

  Added files:                 
    /embed/php-irssi	genfe.php settings.c theme.c 

  Modified files:              
    /embed/php-irssi	.cvsignore Makefile.am ext-irssi.c 
  Log:
  Move settings to a file of its own.
  Add a file for the theme stuff
  Move the irssi_XXX function table into a file of its own; it is generated
  automatically.
  
  
  
--wez1049217029
Content-Type: text/plain
Content-Disposition: attachment; filename="wez-20030401121029.txt"

Index: embed/php-irssi/.cvsignore
diff -u embed/php-irssi/.cvsignore:1.4 embed/php-irssi/.cvsignore:1.5
--- embed/php-irssi/.cvsignore:1.4	Sat Feb  1 22:03:36 2003
+++ embed/php-irssi/.cvsignore	Tue Apr  1 12:10:29 2003
@@ -8,3 +8,4 @@
 *.la
 php-signals-list.h
 php-irssi-obj-defs.h
+fe.c
Index: embed/php-irssi/Makefile.am
diff -u embed/php-irssi/Makefile.am:1.6 embed/php-irssi/Makefile.am:1.7
--- embed/php-irssi/Makefile.am:1.6	Mon Mar 31 10:15:09 2003
+++ embed/php-irssi/Makefile.am	Tue Apr  1 12:10:29 2003
@@ -17,11 +17,17 @@
 	-DSCRIPTDIR=\""$(datadir)/irssi/scripts"\" \
 	$(LIBPHP_CFLAGS)
 
-libphp_core_la_SOURCES = \
-	php-core.c ext-irssi.c php-irssi-obj.c server.c channel.c nick.c win-item.c window.c
+core_sources=\
+	php-core.c ext-irssi.c php-irssi-obj.c server.c channel.c nick.c win-item.c window.c \
+	theme.c settings.c 
 
+libphp_core_la_SOURCES = \
+	$(core_sources) fe.c
 
 $(libphp_core_la_SOURCES): php-signals-list.h php-irssi-obj-defs.h
+
+fe.c: $(core_sources) $(srcdir)/genfe.php
+	$(LIBPHP_PREFIX)/bin/php $(srcdir)/genfe.php $(core_sources) > fe.c
 
 php-irssi-obj-defs.h: $(srcdir)/genobjdefs.php $(srcdir)/typemap.php
 	$(LIBPHP_PREFIX)/bin/php $(srcdir)/genobjdefs.php "$(top_srcdir)" > php-irssi-obj-defs.h
Index: embed/php-irssi/ext-irssi.c
diff -u embed/php-irssi/ext-irssi.c:1.29 embed/php-irssi/ext-irssi.c:1.30
--- embed/php-irssi/ext-irssi.c:1.29	Tue Apr  1 11:16:03 2003
+++ embed/php-irssi/ext-irssi.c	Tue Apr  1 12:10:29 2003
@@ -14,7 +14,7 @@
   +----------------------------------------------------------------------+
   | Author: Wez Furlong <[email protected]>                                    |
   +----------------------------------------------------------------------+
-  $Id: ext-irssi.c,v 1.29 2003/04/01 16:16:03 tal Exp $
+  $Id: ext-irssi.c,v 1.30 2003/04/01 17:10:29 wez Exp $
 */
 #include "php-irssi.h"
 #include "php-signals-list.h" /* generated by php during make */
@@ -798,303 +798,6 @@
 	RETURN_TRUE;
 }
 
-/* Settings API */
-
-/* proto void irssi_settings_save([string filename])
-   Saves the current settings */
-PHP_FUNCTION(irssi_settings_save)
-{
-	char *filename = NULL;
-	long filename_len;
-	
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &filename, &filename_len) == FAILURE) {
-		return;
-	}
-
-	settings_save(filename, 0);
-}
-
-/* proto void irssi_settings_add_bool(string section, string key, bool default)
-   Registers a boolean setting */
-PHP_FUNCTION(irssi_settings_add_bool)
-{
-	char *section, *key;
-	long section_len, key_len;
-	zend_bool defval;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssb",
-				&section, &section_len, &key, &key_len, &defval)) {
-		return;
-	}
-
-	settings_add_bool(section, key, defval);
-}
-
-/* proto void irssi_settings_add_int(string section, string key, long default)
-   Registers an integer setting */
-PHP_FUNCTION(irssi_settings_add_int)
-{
-	char *section, *key;
-	long section_len, key_len;
-	long defval;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssl",
-				&section, &section_len, &key, &key_len, &defval)) {
-		return;
-	}
-
-	settings_add_int(section, key, defval);
-}
-
-/* proto void irssi_settings_add_str(string section, string key, string default)
-   Registers a string setting */
-PHP_FUNCTION(irssi_settings_add_str)
-{
-	char *section, *key, *defval;
-	long section_len, key_len, defval_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
-				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
-		return;
-	}
-
-	settings_add_str(section, key, defval);
-}
-
-/* proto void irssi_settings_add_time(string section, string key, string default)
-   Registers a time setting */
-PHP_FUNCTION(irssi_settings_add_time)
-{
-	char *section, *key, *defval;
-	long section_len, key_len, defval_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
-				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
-		return;
-	}
-
-	settings_add_time(section, key, defval);
-}
-
-/* proto void irssi_settings_add_level(string section, string key, string default)
-   Registers a level setting */
-PHP_FUNCTION(irssi_settings_add_level)
-{
-	char *section, *key, *defval;
-	long section_len, key_len, defval_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
-				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
-		return;
-	}
-
-	settings_add_level(section, key, defval);
-}
-
-/* proto void irssi_settings_add_size(string section, string key, string default)
-   Registers a size setting */
-PHP_FUNCTION(irssi_settings_add_size)
-{
-	char *section, *key, *defval;
-	long section_len, key_len, defval_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
-				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
-		return;
-	}
-
-	settings_add_size(section, key, defval);
-}
-
-/* proto string irssi_settings_get_str(string key)
-   Returns a string setting value */
-PHP_FUNCTION(irssi_settings_get_str)
-{
-	char *key, *val;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	val = (char *)settings_get_str(key);
-
-	if (val) {
-		RETURN_STRING(val, 1);
-	} else {
-		RETURN_NULL();
-	}
-}
-
-/* proto long irssi_settings_get_int(string key)
-   Returns an int setting value */
-PHP_FUNCTION(irssi_settings_get_int)
-{
-	char *key;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	RETURN_LONG(settings_get_int(key));
-}
-
-/* proto bool irssi_settings_get_bool(string key)
-   Returns a bool setting value */
-PHP_FUNCTION(irssi_settings_get_bool)
-{
-	char *key;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	RETURN_BOOL(settings_get_bool(key));
-}
-
-/* proto long irssi_settings_get_time(string key)
-   Returns a time setting value */
-PHP_FUNCTION(irssi_settings_get_time)
-{
-	char *key;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	RETURN_LONG(settings_get_bool(key));
-}
-
-/* proto long irssi_settings_get_level(string key)
-   Returns a level setting value */
-PHP_FUNCTION(irssi_settings_get_level)
-{
-	char *key;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	RETURN_LONG(settings_get_level(key));
-}
-
-/* proto long irssi_settings_get_size(string key)
-   Returns a size setting value */
-PHP_FUNCTION(irssi_settings_get_size)
-{
-	char *key;
-	long key_len;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
-				&key, &key_len)) {
-		return;
-	}
-
-	RETURN_LONG(settings_get_size(key));
-}
-
-/* proto void irssi_settings_set_str(string key, string value)
-   Set a string setting */
-PHP_FUNCTION(irssi_settings_set_str)
-{
-	char *key, *val;
-	long keylen, vallen;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-				&key, &keylen, &val, &vallen)) {
-		return;
-	}
-
-	settings_set_str(key, val);
-}
-
-/* proto void irssi_settings_set_int(string key, long value)
-   Set an int setting */
-PHP_FUNCTION(irssi_settings_set_int)
-{
-	char *key;
-	long keylen, val;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl",
-				&key, &keylen, &val)) {
-		return;
-	}
-
-	settings_set_int(key, val);
-}
-
-/* proto void irssi_settings_set_bool(string key, bool value)
-   Set a bool setting */
-PHP_FUNCTION(irssi_settings_set_bool)
-{
-	char *key;
-	long keylen;
-	zend_bool val;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl",
-				&key, &keylen, &val)) {
-		return;
-	}
-
-	settings_set_bool(key, val);
-}
-
-
-/* proto void irssi_settings_set_time(string key, string value)
-   Set a time setting */
-PHP_FUNCTION(irssi_settings_set_time)
-{
-	char *key, *val;
-	long keylen, vallen;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-				&key, &keylen, &val, &vallen)) {
-		return;
-	}
-
-	settings_set_time(key, val);
-}
-
-/* proto void irssi_settings_set_level(string key, string value)
-   Set a level setting */
-PHP_FUNCTION(irssi_settings_set_level)
-{
-	char *key, *val;
-	long keylen, vallen;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-				&key, &keylen, &val, &vallen)) {
-		return;
-	}
-
-	settings_set_level(key, val);
-}
-
-/* proto void irssi_settings_set_size(string key, string value)
-   Set a size setting */
-PHP_FUNCTION(irssi_settings_set_size)
-{
-	char *key, *val;
-	long keylen, vallen;
-
-	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
-				&key, &keylen, &val, &vallen)) {
-		return;
-	}
-
-	settings_set_size(key, val);
-}
-
-
 /* proto string irssi_irc_get_mask(string nick, string address [, long flags])
    Generate a mask for a nick */
 PHP_FUNCTION(irssi_irc_get_mask)
@@ -1212,47 +915,7 @@
 	php_irssi_fini_objects();
 }
 
-static function_entry php_irssi_functions[] = {
-	PHP_FE(irssi_channel_list, NULL)
-	PHP_FE(irssi_server_list, NULL)
-	PHP_FE(irssi_server_find_tag, NULL)
-	PHP_FE(irssi_server_find_chatnet, NULL)
-	PHP_FE(irssi_signal_add, NULL)
-	PHP_FE(irssi_signal_emit, NULL)
-	PHP_FE(irssi_signal_remove, NULL)
-	PHP_FE(irssi_signal_get_arg, NULL)
-	PHP_FE(irssi_signal_stop, NULL)
-	PHP_FE(irssi_signal_stop_by_name, NULL)
-	PHP_FE(irssi_signal_get_emitted, NULL)
-	PHP_FE(irssi_signal_is_stopped, NULL)
-	PHP_FE(irssi_timeout_add, NULL)
-	PHP_FE(irssi_timeout_remove, NULL)
-	PHP_FE(irssi_window_get_active, NULL)
-	PHP_FE(irssi_window_find_name, NULL)
-	PHP_FE(irssi_command_bind, NULL)
-	PHP_FE(irssi_command_unbind, NULL)
-	PHP_FE(irssi_settings_save, NULL)
-	PHP_FE(irssi_settings_add_bool, NULL)
-	PHP_FE(irssi_settings_add_int, NULL)
-	PHP_FE(irssi_settings_add_str, NULL)
-	PHP_FE(irssi_settings_add_time, NULL)
-	PHP_FE(irssi_settings_add_level, NULL)
-	PHP_FE(irssi_settings_add_size, NULL)
-	PHP_FE(irssi_settings_get_str, NULL)
-	PHP_FE(irssi_settings_get_int, NULL)
-	PHP_FE(irssi_settings_get_bool, NULL)
-	PHP_FE(irssi_settings_get_time, NULL)
-	PHP_FE(irssi_settings_get_level, NULL)
-	PHP_FE(irssi_settings_get_size, NULL)
-	PHP_FE(irssi_settings_set_str, NULL)
-	PHP_FE(irssi_settings_set_int, NULL)
-	PHP_FE(irssi_settings_set_bool, NULL)
-	PHP_FE(irssi_settings_set_time, NULL)
-	PHP_FE(irssi_settings_set_level, NULL)
-	PHP_FE(irssi_settings_set_size, NULL)
-	PHP_FE(irssi_irc_get_mask, NULL)
-	{NULL, NULL, NULL}
-};
+extern function_entry php_irssi_functions[];
 
 zend_module_entry php_irssi_module_entry = {
 	STANDARD_MODULE_HEADER,
@@ -1266,7 +929,6 @@
 	PHP_IRSSI_VERSION,
 	STANDARD_MODULE_PROPERTIES
 };
-
 
 
 /*

Index: embed/php-irssi/genfe.php
+++ embed/php-irssi/genfe.php
<?php
/*
  +----------------------------------------------------------------------+
  | PHP for IRSSI                                                        |
  +----------------------------------------------------------------------+
  | Copyright (c) 1997-2003 The PHP Group                                |
  +----------------------------------------------------------------------+
  | This source file is subject to version 2.02 of the PHP license,      |
  | that is bundled with this package in the file LICENSE, and is        |
  | available at through the world-wide-web at                           |
  | http://www.php.net/license/2_02.txt.                                 |
  | If you did not receive a copy of the PHP license and are unable to   |
  | obtain it through the world-wide-web, please send a note to          |
  | [email protected] so we can mail you a copy immediately.               |
  +----------------------------------------------------------------------+
  | Author: Wez Furlong <[email protected]>                                    |
  +----------------------------------------------------------------------+
  $Id: genfe.php,v 1.1 2003/04/01 17:10:29 wez Exp $
*/

/* Generate PHP_FUNCTION() and PHP_FE() for irssi global functions */

$functions = array();

foreach ($argv as $filename) {
	$lines = @file($filename);
	if (!is_array($lines))
		continue;
	foreach ($lines as $line) {
		if (preg_match("/^PHP_FUNCTION\((irssi_.*)\)\$/", $line, $matches)) {
			$functions[] = $matches[1];
		}
	}
}

printf("/* Automatically generated from %s at %s */\n\n", basename($_SERVER[PHP_SELF]), date("Y-m-d H:i:s", time()));
echo "#include \"php-irssi.h\"\n\n";

foreach ($functions as $fname) {
	echo "PHP_FUNCTION($fname);\n";
}

echo "\n\nfunction_entry php_irssi_functions[] = {\n";
foreach ($functions as $fname) {
	echo "\tPHP_FE($fname, NULL)\n";
}
echo "{NULL, NULL, NULL}\n};\n\n";

?>

Index: embed/php-irssi/settings.c
+++ embed/php-irssi/settings.c
/*
  +----------------------------------------------------------------------+
  | PHP for IRSSI                                                        |
  +----------------------------------------------------------------------+
  | Copyright (c) 1997-2003 The PHP Group                                |
  +----------------------------------------------------------------------+
  | This source file is subject to version 2.02 of the PHP license,      |
  | that is bundled with this package in the file LICENSE, and is        |
  | available at through the world-wide-web at                           |
  | http://www.php.net/license/2_02.txt.                                 |
  | If you did not receive a copy of the PHP license and are unable to   |
  | obtain it through the world-wide-web, please send a note to          |
  | [email protected] so we can mail you a copy immediately.               |
  +----------------------------------------------------------------------+
  | Author: Wez Furlong <[email protected]>                                    |
  +----------------------------------------------------------------------+
  $Id: settings.c,v 1.1 2003/04/01 17:10:29 wez Exp $
*/
#include "php-irssi.h"

/* Settings API */

/* proto void irssi_settings_save([string filename])
   Saves the current settings */
PHP_FUNCTION(irssi_settings_save)
{
	char *filename = NULL;
	long filename_len;
	
	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &filename, &filename_len) == FAILURE) {
		return;
	}

	settings_save(filename, 0);
}

/* proto void irssi_settings_add_bool(string section, string key, bool default)
   Registers a boolean setting */
PHP_FUNCTION(irssi_settings_add_bool)
{
	char *section, *key;
	long section_len, key_len;
	zend_bool defval;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssb",
				&section, &section_len, &key, &key_len, &defval)) {
		return;
	}

	settings_add_bool(section, key, defval);
}

/* proto void irssi_settings_add_int(string section, string key, long default)
   Registers an integer setting */
PHP_FUNCTION(irssi_settings_add_int)
{
	char *section, *key;
	long section_len, key_len;
	long defval;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssl",
				&section, &section_len, &key, &key_len, &defval)) {
		return;
	}

	settings_add_int(section, key, defval);
}

/* proto void irssi_settings_add_str(string section, string key, string default)
   Registers a string setting */
PHP_FUNCTION(irssi_settings_add_str)
{
	char *section, *key, *defval;
	long section_len, key_len, defval_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
		return;
	}

	settings_add_str(section, key, defval);
}

/* proto void irssi_settings_add_time(string section, string key, string default)
   Registers a time setting */
PHP_FUNCTION(irssi_settings_add_time)
{
	char *section, *key, *defval;
	long section_len, key_len, defval_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
		return;
	}

	settings_add_time(section, key, defval);
}

/* proto void irssi_settings_add_level(string section, string key, string default)
   Registers a level setting */
PHP_FUNCTION(irssi_settings_add_level)
{
	char *section, *key, *defval;
	long section_len, key_len, defval_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
		return;
	}

	settings_add_level(section, key, defval);
}

/* proto void irssi_settings_add_size(string section, string key, string default)
   Registers a size setting */
PHP_FUNCTION(irssi_settings_add_size)
{
	char *section, *key, *defval;
	long section_len, key_len, defval_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss",
				&section, &section_len, &key, &key_len, &defval, &defval_len)) {
		return;
	}

	settings_add_size(section, key, defval);
}

/* proto string irssi_settings_get_str(string key)
   Returns a string setting value */
PHP_FUNCTION(irssi_settings_get_str)
{
	char *key, *val;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	val = (char *)settings_get_str(key);

	if (val) {
		RETURN_STRING(val, 1);
	} else {
		RETURN_NULL();
	}
}

/* proto long irssi_settings_get_int(string key)
   Returns an int setting value */
PHP_FUNCTION(irssi_settings_get_int)
{
	char *key;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	RETURN_LONG(settings_get_int(key));
}

/* proto bool irssi_settings_get_bool(string key)
   Returns a bool setting value */
PHP_FUNCTION(irssi_settings_get_bool)
{
	char *key;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	RETURN_BOOL(settings_get_bool(key));
}

/* proto long irssi_settings_get_time(string key)
   Returns a time setting value */
PHP_FUNCTION(irssi_settings_get_time)
{
	char *key;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	RETURN_LONG(settings_get_bool(key));
}

/* proto long irssi_settings_get_level(string key)
   Returns a level setting value */
PHP_FUNCTION(irssi_settings_get_level)
{
	char *key;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	RETURN_LONG(settings_get_level(key));
}

/* proto long irssi_settings_get_size(string key)
   Returns a size setting value */
PHP_FUNCTION(irssi_settings_get_size)
{
	char *key;
	long key_len;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
				&key, &key_len)) {
		return;
	}

	RETURN_LONG(settings_get_size(key));
}

/* proto void irssi_settings_set_str(string key, string value)
   Set a string setting */
PHP_FUNCTION(irssi_settings_set_str)
{
	char *key, *val;
	long keylen, vallen;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
				&key, &keylen, &val, &vallen)) {
		return;
	}

	settings_set_str(key, val);
}

/* proto void irssi_settings_set_int(string key, long value)
   Set an int setting */
PHP_FUNCTION(irssi_settings_set_int)
{
	char *key;
	long keylen, val;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl",
				&key, &keylen, &val)) {
		return;
	}

	settings_set_int(key, val);
}

/* proto void irssi_settings_set_bool(string key, bool value)
   Set a bool setting */
PHP_FUNCTION(irssi_settings_set_bool)
{
	char *key;
	long keylen;
	zend_bool val;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl",
				&key, &keylen, &val)) {
		return;
	}

	settings_set_bool(key, val);
}


/* proto void irssi_settings_set_time(string key, string value)
   Set a time setting */
PHP_FUNCTION(irssi_settings_set_time)
{
	char *key, *val;
	long keylen, vallen;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
				&key, &keylen, &val, &vallen)) {
		return;
	}

	settings_set_time(key, val);
}

/* proto void irssi_settings_set_level(string key, string value)
   Set a level setting */
PHP_FUNCTION(irssi_settings_set_level)
{
	char *key, *val;
	long keylen, vallen;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
				&key, &keylen, &val, &vallen)) {
		return;
	}

	settings_set_level(key, val);
}

/* proto void irssi_settings_set_size(string key, string value)
   Set a size setting */
PHP_FUNCTION(irssi_settings_set_size)
{
	char *key, *val;
	long keylen, vallen;

	if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
				&key, &keylen, &val, &vallen)) {
		return;
	}

	settings_set_size(key, val);
}


/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * indent-tabs-mode: t
 * End:
 */

Index: embed/php-irssi/theme.c
+++ embed/php-irssi/theme.c
/*
  +----------------------------------------------------------------------+
  | PHP for IRSSI                                                        |
  +----------------------------------------------------------------------+
  | Copyright (c) 1997-2003 The PHP Group                                |
  +----------------------------------------------------------------------+
  | This source file is subject to version 2.02 of the PHP license,      |
  | that is bundled with this package in the file LICENSE, and is        |
  | available at through the world-wide-web at                           |
  | http://www.php.net/license/2_02.txt.                                 |
  | If you did not receive a copy of the PHP license and are unable to   |
  | obtain it through the world-wide-web, please send a note to          |
  | [email protected] so we can mail you a copy immediately.               |
  +----------------------------------------------------------------------+
  | Author: Wez Furlong <[email protected]>                                    |
  +----------------------------------------------------------------------+
  $Id: theme.c,v 1.1 2003/04/01 17:10:29 wez Exp $
*/
#include "php-irssi.h"

/* Theme/formatting API */

/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * indent-tabs-mode: t
 * End:
 */

--wez1049217029--