[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-cvs
Subject:    [PECL-CVS] cvs: pecl /newt newt.c php_newt.h  /newt/examples 01.php 02.php 03.php newt_entry_set_fil
From:       "Michael Spector" <michael () php ! net>
Date:       2004-12-28 17:16:53
Message-ID: cvsmichael1104254213 () cvsserver
[Download RAW message or body]

michael		Tue Dec 28 12:16:53 2004 EDT

  Added files:                 
    /pecl/newt/examples	newt_entry_set_filter.php newt_win_entries.php 
                       	newt_win_menu.php redhat_netconf_example.php 

  Removed files:               
    /pecl/newt/examples	01.php 02.php 03.php 

  Modified files:              
    /pecl/newt	newt.c php_newt.h 
  Log:
  - fixed management of data
  - fixed newt_win_entries()
  - gave meaningful names to examples' files
  
  
["michael-20041228121653.txt" (text/plain)]

http://cvs.php.net/diff.php/pecl/newt/newt.c?r1=1.40&r2=1.41&ty=u
Index: pecl/newt/newt.c
diff -u pecl/newt/newt.c:1.40 pecl/newt/newt.c:1.41
--- pecl/newt/newt.c:1.40	Mon Dec 27 17:11:59 2004
+++ pecl/newt/newt.c	Tue Dec 28 12:16:51 2004
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: newt.c,v 1.40 2004/12/27 22:11:59 michael Exp $ */
+/* $Id: newt.c,v 1.41 2004/12/28 17:16:51 michael Exp $ */
 
 #include <newt.h>
 
@@ -204,25 +204,25 @@
 
 /* {{{ php_newt_init_globals
  */
-void php_newt_init_globals (zend_newt_globals *newt_globals TSRMLS_DC)
+static void php_newt_init_globals (zend_newt_globals *newt_globals TSRMLS_DC)
 {
 	newt_globals->newt_has_inited = 0;
 
-	zend_hash_init(&newt_globals->callbacks, 0, NULL, (void (*)(void *)) \
                php_newt_free_cb, 0);
-	zend_hash_init(&newt_globals->data, 0, NULL, ZVAL_PTR_DTOR, 0);
+	zend_hash_init(&newt_globals->callbacks, 0, NULL, (dtor_func_t) php_newt_free_cb, \
1); +	zend_hash_init(&newt_globals->data, 0, NULL, ZVAL_PTR_DTOR, 1);
 }
 /* }}} */
 
 /* {{{ php_newt_destroy_globals
  */
-void php_newt_destroy_globals(zend_newt_globals *newt_globals TSRMLS_DC)
+static void php_newt_destroy_globals(zend_newt_globals *newt_globals TSRMLS_DC)
 {
 	if (newt_globals->newt_has_inited) {
 	  newtFinished();
 	}
 
 	//zend_hash_clean (&newt_globals->callbacks);
-	//zend_hash_clean (&newt_globals->data);
+	zend_hash_clean (&newt_globals->data);
 }
 /* }}} */
 
@@ -277,35 +277,30 @@
 		MAKE_STD_ZVAL (z_data_pnsd); \
 		*z_data_pnsd = *(z_data); \
 		zval_copy_ctor (z_data_pnsd); \
-		if (!key) { \
-			key = emalloc (PHP_NEWT_RK_SIZE+1); \
-			snprintf (key, PHP_NEWT_RK_SIZE, "%x", zend_hash_num_elements(&NEWT_G(data))); \
-		} \
-		zend_hash_update (&NEWT_G(data), key, strlen(key)+1, (void *)&z_data_pnsd, \
sizeof(zval *), NULL); \ +		key = zend_hash_num_elements(&NEWT_G(data)); \
+		zend_hash_next_index_insert (&NEWT_G(data), &z_data_pnsd, sizeof(zval *), NULL); \
 	} while (0)
 
 #define PHP_NEWT_FETCH_DATA(key, z_data) \
 	do { \
 		zval **z_data_pnfd = NULL; \
-		if (!z_data) { \
-			MAKE_STD_ZVAL (z_data); \
+		if(zend_hash_index_find (&NEWT_G(data), key, (void **)&z_data_pnfd) == SUCCESS) { \
\ +			if (!z_data) { \
+				MAKE_STD_ZVAL (z_data); \
+			} \
+			*z_data = *(*z_data_pnfd); \
+			zval_copy_ctor (z_data); \
 		} \
-		zend_hash_find (&NEWT_G(data), key, strlen(key)+1, (void **)&z_data_pnfd); \
-		*z_data = *(*z_data_pnfd); \
-		zval_copy_ctor (z_data); \
 	} while (0)
 
 #define PHP_NEWT_FETCH_KEY(z_data, key) \
 	do { \
-		zval *z_data_pnfk = NULL, res_pnfk; \
-		key = NULL; \
+		zval **z_data_pnfk = NULL, res_pnfk; \
 		zend_hash_internal_pointer_reset (&NEWT_G(data)); \
 		while (zend_hash_get_current_data (&NEWT_G(data), (void **)&z_data_pnfk) == \
                SUCCESS) { \
-			ulong id_pnfk; \
-			uint keylen_pnfk; \
-			is_identical_function (&res_pnfk, z_data_pnfk, z_data); \
+			is_identical_function (&res_pnfk, (zval *) *z_data_pnfk, z_data); \
 			if(zval_is_true (&res_pnfk)) { \
-				zend_hash_get_current_key_ex(&NEWT_G(data), &key, &keylen_pnfk, &id_pnfk, 0, \
NULL); \ +				zend_hash_get_current_key(&NEWT_G(data), NULL, &key, 0); \
 				break; \
 			} \
 			zend_hash_move_forward(&NEWT_G(data)); \
@@ -1161,7 +1156,7 @@
 	newtComponent item, prev_item;
 	zval *z_data;
 	int flags = 0;
-	char *key = NULL;
+	ulong key;
 	
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "llsbzz|l", &left, &top, \
&text, &text_len,   &is_default, &z_prev_item, &z_data, &flags) == FAILURE) {
@@ -1172,7 +1167,7 @@
 
 	PHP_NEWT_STORE_DATA (z_data, key);
 
-	item = newtListitem (left, top, text, is_default, prev_item, key, flags);
+	item = newtListitem (left, top, text, is_default, prev_item, (void *)key, flags);
 	newtComponentAddCallback (item, NULL, NULL);
 
 	ZEND_REGISTER_RESOURCE (return_value, item, le_newt_comp);
@@ -1209,18 +1204,13 @@
 {
 	zval *z_item;
 	newtComponent item;
-	char *data = NULL;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_item) == FAILURE) {
 		return;
 	}
 
 	ZEND_FETCH_RESOURCE(item, newtComponent, &z_item, -1, le_newt_comp_name, \
                le_newt_comp);
-
-	data = newtListitemGetData (item);
-	if (data) {
-		PHP_NEWT_FETCH_DATA (data, return_value);
-	}
+	PHP_NEWT_FETCH_DATA((ulong) newtListitemGetData (item), return_value);
 }
 /* }}} */
 #endif
@@ -1362,7 +1352,7 @@
 	}
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	PHP_NEWT_FETCH_DATA(newtListboxGetCurrent (listbox), return_value);
+	PHP_NEWT_FETCH_DATA((ulong) newtListboxGetCurrent (listbox), return_value);
 }
 /* }}} */
 
@@ -1392,7 +1382,7 @@
 	zval *z_listbox;
 	newtComponent listbox;
 	zval *z_key;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz!", &z_listbox, &z_key) == \
FAILURE) {  return;
@@ -1401,7 +1391,7 @@
 	PHP_NEWT_FETCH_KEY (z_key, key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxSetCurrentByKey (listbox, key);
+	newtListboxSetCurrentByKey (listbox, (void *)key);
 }
 /* }}} */
 
@@ -1453,7 +1443,7 @@
 	newtComponent listbox;
 	int num;
 	zval *z_data;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zlz!", &z_listbox, &num, \
&z_data) == FAILURE) {  return;
@@ -1462,7 +1452,7 @@
 	PHP_NEWT_STORE_DATA (z_data, key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxSetData (listbox, num, key);
+	newtListboxSetData (listbox, num, (void *)key);
 }
 /* }}} */
 
@@ -1476,7 +1466,7 @@
 	char *text = NULL;
 	int text_len;
 	zval *z_data;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zsz!", &z_listbox, &text, \
&text_len, &z_data) == FAILURE) {  return;
@@ -1485,7 +1475,7 @@
 	PHP_NEWT_STORE_DATA (z_data, key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxAppendEntry (listbox, text, key);
+	newtListboxAppendEntry (listbox, text, (void *)key);
 }
 /* }}} */
 
@@ -1499,7 +1489,7 @@
 	char *text = NULL;
 	int text_len;
 	zval *z_data, *z_key;
-	char *data_key = NULL, *key_key = NULL;
+	ulong data_key, key_key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zsz!z!", &z_listbox, &text, \
&text_len, &z_data, &z_key) == FAILURE) {  return;
@@ -1509,7 +1499,7 @@
 	PHP_NEWT_STORE_DATA (z_key, key_key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxInsertEntry (listbox, text, data_key, key_key);
+	newtListboxInsertEntry (listbox, text, (void *)data_key, (void *)key_key);
 }
 /* }}} */
 
@@ -1521,7 +1511,7 @@
 	zval *z_listbox;
 	newtComponent listbox;
 	zval *z_key;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz!", &z_listbox, &z_key) == \
FAILURE) {  return;
@@ -1530,7 +1520,7 @@
 	PHP_NEWT_STORE_DATA (z_key, key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxDeleteEntry (listbox, key);
+	newtListboxDeleteEntry (listbox, (void *)key);
 }
 /* }}} */
 
@@ -1560,7 +1550,8 @@
 	newtComponent listbox;
 	int num;
 	zval *z_text = NULL, *z_data = NULL;
-	char *text = NULL, *key = NULL;
+	char *text = NULL;
+	ulong key;
 
 	if (zend_parse_parameters
 			(ZEND_NUM_ARGS() TSRMLS_CC, "zl|z/!z/!", &z_listbox, &num, &z_text, &z_data) == \
FAILURE) { @@ -1578,9 +1569,7 @@
 	}
 	if (z_data) {
 		zval_dtor (z_data);
-		if (key) {
-			PHP_NEWT_FETCH_DATA (key, z_data);
-		}
+		PHP_NEWT_FETCH_DATA (key, z_data);
 	}
 }
 /* }}} */
@@ -1592,7 +1581,7 @@
 {
 	zval *z_listbox;
 	newtComponent listbox;
-	char **retval;
+	ulong *retval;
 	zval *z_val;
 	int num_items;
 	int i;
@@ -1602,7 +1591,7 @@
 	}
 	
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	retval = (char **)newtListboxGetSelection (listbox, &num_items);
+	retval = (ulong *)newtListboxGetSelection (listbox, &num_items);
 
 	array_init (return_value);
 	MAKE_STD_ZVAL (z_val);
@@ -1645,7 +1634,7 @@
 	newtComponent listbox;
 	zval *z_key;
 	int sense;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz!l", &z_listbox, &z_key, \
&sense) == FAILURE) {  return;
@@ -1654,7 +1643,7 @@
 	PHP_NEWT_STORE_DATA (z_key, key);
 
 	ZEND_FETCH_RESOURCE(listbox, newtComponent, &z_listbox, -1, le_newt_comp_name, \
                le_newt_comp);
-	newtListboxSelectItem (listbox, key, sense);
+	newtListboxSelectItem (listbox, (void *)key, sense);
 }
 /* }}} */
 
@@ -1730,7 +1719,7 @@
 {
 	zval *z_checkboxtree;
 	newtComponent checkboxtree;
-	char **retval;
+	ulong *retval;
 	zval *z_val;
 	int num_items;
 	int i;
@@ -1740,7 +1729,7 @@
 	}
 	
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
                le_newt_comp_name, le_newt_comp);
-	retval = (char **)newtCheckboxTreeGetSelection (checkboxtree, &num_items);
+	retval = (ulong *)newtCheckboxTreeGetSelection (checkboxtree, &num_items);
 
 	array_init (return_value);
 	MAKE_STD_ZVAL (z_val);
@@ -1764,18 +1753,14 @@
 {
 	zval *z_checkboxtree;
 	newtComponent checkboxtree;
-	char *current;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_checkboxtree) == \
FAILURE) {  return;
 	}
 	
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
                le_newt_comp_name, le_newt_comp);
-	current = (char *)newtCheckboxTreeGetCurrent (checkboxtree);
-
-	if (current) {
-		PHP_NEWT_FETCH_DATA (current, return_value);
-	}
+	PHP_NEWT_FETCH_DATA ((ulong) newtCheckboxTreeGetCurrent (checkboxtree), \
return_value);  }
 /* }}} */
 
@@ -1786,7 +1771,7 @@
 {
 	zval *z_checkboxtree, *z_data;
 	newtComponent checkboxtree;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz", &z_checkboxtree, \
&z_data) == FAILURE) {  return;
@@ -1795,7 +1780,7 @@
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
le_newt_comp_name, le_newt_comp);  
 	PHP_NEWT_STORE_DATA (z_data, key);
-	newtCheckboxTreeSetCurrent (checkboxtree, key);
+	newtCheckboxTreeSetCurrent (checkboxtree, (void *)key);
 }
 /* }}} */
 
@@ -1806,7 +1791,7 @@
 {
 	zval *z_checkboxtree;
 	newtComponent checkboxtree;
-	char **retval;
+	ulong *retval;
 	zval *z_val;
 	int num_items;
 	int i;
@@ -1823,7 +1808,7 @@
 	}
 	
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
                le_newt_comp_name, le_newt_comp);
-	retval = (char **)newtCheckboxTreeGetMultiSelection (checkboxtree, &num_items, \
(seqnum ? *seqnum : 0)); +	retval = (ulong *)newtCheckboxTreeGetMultiSelection \
(checkboxtree, &num_items, (seqnum ? *seqnum : 0));  
 	array_init (return_value);
 	MAKE_STD_ZVAL (z_val);
@@ -1850,7 +1835,7 @@
 	char *text;
 	int text_len, flags, i;
 	void **newt_args = NULL;
-	char *key = NULL;
+	ulong key;
 
 	int argc = ZEND_NUM_ARGS();
 	if (argc < 5) { WRONG_PARAM_COUNT; }
@@ -1901,7 +1886,7 @@
 	char *text;
 	int text_len, flags, *indexes, indexes_num, i;
 	void **newt_args = NULL;
-	char *key = NULL;
+	ulong key;
 
 	if (5 != ZEND_NUM_ARGS()) { WRONG_PARAM_COUNT; }
 	if (zend_parse_parameters (5 TSRMLS_CC, "zszla", &z_checkboxtree, &text, &text_len, \
&z_data, &flags, &z_indexes) == FAILURE) { @@ -1952,7 +1937,7 @@
 	zval *z_checkboxtree, *z_data, *z_val;
 	newtComponent checkboxtree;
 	int *path, i;
-	char *key = NULL;
+	ulong key;
 
 	if (2 != ZEND_NUM_ARGS()) { WRONG_PARAM_COUNT; }
 	if (zend_parse_parameters (2 TSRMLS_CC, "zz", &z_checkboxtree, &z_data) != FAILURE) \
{ @@ -1962,7 +1947,7 @@
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
le_newt_comp_name, le_newt_comp);  
 	PHP_NEWT_STORE_DATA (z_data, key);
-	path = newtCheckboxTreeFindItem (checkboxtree, key);
+	path = newtCheckboxTreeFindItem (checkboxtree, (void *)key);
 
 	array_init (return_value);
 	if (path) {
@@ -1989,7 +1974,7 @@
 	zval *z_data;
 	char *text = NULL;
 	int text_len;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zzs", &z_checkbox_tree, \
&z_data, &text, &text_len) == FAILURE) {  return;
@@ -1998,7 +1983,7 @@
 	ZEND_FETCH_RESOURCE(checkbox_tree, newtComponent, &z_checkbox_tree, -1, \
le_newt_comp_name, le_newt_comp);  
 	PHP_NEWT_STORE_DATA (z_data, key);
-	newtCheckboxTreeSetEntry (checkbox_tree, key, text);
+	newtCheckboxTreeSetEntry (checkbox_tree, (void *)key, text);
 }
 /* }}} */
 
@@ -2029,7 +2014,7 @@
 	zval *z_checkboxtree, *z_data;
 	newtComponent checkboxtree;
 	char ret_value[2];
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz!", &z_checkboxtree, \
&z_data) == FAILURE) {  return;
@@ -2038,7 +2023,7 @@
 	PHP_NEWT_STORE_DATA (z_data, key);
 
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
                le_newt_comp_name, le_newt_comp);
-	ret_value[0] = newtCheckboxTreeGetEntryValue (checkboxtree, key);
+	ret_value[0] = newtCheckboxTreeGetEntryValue (checkboxtree, (void *)key);
 	ret_value[1] = '\0';
 	
 	RETURN_STRING (ret_value, 1);
@@ -2054,7 +2039,7 @@
 	newtComponent checkboxtree;
 	char *value;
 	int value_len;
-	char *key = NULL;
+	ulong key;
 
 	if (zend_parse_parameters (ZEND_NUM_ARGS() TSRMLS_CC, "zz!s", &z_checkboxtree, \
&z_data, &value, &value_len) == FAILURE) {  return;
@@ -2068,7 +2053,7 @@
 	PHP_NEWT_STORE_DATA (z_data, key);
 
 	ZEND_FETCH_RESOURCE(checkboxtree, newtComponent, &z_checkboxtree, -1, \
                le_newt_comp_name, le_newt_comp);
-	newtCheckboxTreeSetEntryValue (checkboxtree, key, *value);
+	newtCheckboxTreeSetEntryValue (checkboxtree, (void *)key, *value);
 }
 /* }}} */
 
@@ -3474,8 +3459,7 @@
 
 	i=0;
 	while (zend_hash_index_find (Z_ARRVAL_P(z_items), i, (void **)&z_item) == SUCCESS) \
                {
-		zval **z_item_text, **z_item_value, **z_item_flags;
-		char *key = NULL;
+		zval **z_item_text = NULL, **z_item_value = NULL, **z_item_flags = NULL;
 
 		if(Z_TYPE_PP(z_item) != IS_ARRAY) {
 			efree (args);
@@ -3495,12 +3479,7 @@
 			php_error_docref (NULL TSRMLS_CC, E_ERROR, "Sub-array must have key: \"value\"");
 			return;
 		}
-		if(zend_hash_find (Z_ARRVAL_PP(z_item), "flags", sizeof("flags"), (void \
                **)&z_item_flags) == FAILURE) {
-			efree (args);
-			efree (items);
-			php_error_docref (NULL TSRMLS_CC, E_ERROR, "Sub-array must have key: \"flags\"");
-			return;
-		}
+		zend_hash_find (Z_ARRVAL_PP(z_item), "flags", sizeof("flags"), (void \
**)&z_item_flags);  
 		if(Z_TYPE_PP(z_item_text) != IS_STRING) {
 			efree (args);
@@ -3508,17 +3487,18 @@
 			php_error_docref (NULL TSRMLS_CC, E_ERROR, "Value associated with key: \"text\" \
must be string");  return;
 		}
-		if(Z_TYPE_PP(z_item_flags) != IS_LONG) {
-			efree (args);
-			efree (items);
-			php_error_docref (NULL TSRMLS_CC, E_ERROR, "Value associated with key: \"flags\" \
                must be integer");
-			return;
+		if(z_item_flags) {
+			if (Z_TYPE_PP(z_item_flags) != IS_LONG) {
+				efree (args);
+				efree (items);
+				php_error_docref (NULL TSRMLS_CC, E_ERROR, "Value associated with key: \"flags\" \
must be integer"); +				return;
+			}
 		}
 
 		items[i].text = Z_STRVAL_PP(z_item_text);
-		PHP_NEWT_STORE_DATA (*z_item_value, key);
-		items[i].value = (const char **) key;
-		items[i].flags = Z_LVAL_PP(z_item_flags);
+		items[i].value = (const char **)&Z_STRVAL_PP(z_item_value);
+		items[i].flags = (z_item_flags ? Z_LVAL_PP(z_item_flags) : 0);
 
 		i++;
 	}
@@ -3541,17 +3521,22 @@
 			php_error_docref (NULL TSRMLS_CC, E_ERROR, "Arguments starting from eighth must \
be strings");  return;
 		}
-		newt_args[7] = (void *)Z_STRVAL_PP(args[i]);
+		newt_args[i] = (void *)Z_STRVAL_PP(args[i]);
 	}
-			
+
 	rc = (int)newt_vcall ((void *)newtWinEntries, newt_args, argc);
 
 	for(i=0; i<num_items; i++) {
-		if (items[i].text && zend_hash_index_find (Z_ARRVAL_P(z_items), i, (void \
                **)&z_item) == SUCCESS) {
-			zval *z_item_text;
-			PHP_NEWT_FETCH_DATA (items[i].text, z_item_text);
-			zval_add_ref (&z_item_text);
-			zend_hash_update (Z_ARRVAL_PP(z_item), "text", sizeof("text"), (void \
*)&z_item_text, sizeof(zval *), NULL); +		if (items[i].text && zend_hash_index_find \
(Z_ARRVAL_P(z_items), i, (void **)&z_item) == SUCCESS) +		{
+			zval *z_item_value;
+			MAKE_STD_ZVAL (z_item_value);
+			ZVAL_STRING (z_item_value, (char *)*(items[i].value), 1);
+			
+			zval_add_ref (&z_item_value);
+			zend_hash_update (Z_ARRVAL_PP(z_item), "value", sizeof("value"), (void \
*)&z_item_value, sizeof(zval *), NULL); +
+			free ((char *) *(items[i].value));
 		}
 	}
 	
http://cvs.php.net/diff.php/pecl/newt/php_newt.h?r1=1.10&r2=1.11&ty=u
Index: pecl/newt/php_newt.h
diff -u pecl/newt/php_newt.h:1.10 pecl/newt/php_newt.h:1.11
--- pecl/newt/php_newt.h:1.10	Mon Dec 27 17:11:59 2004
+++ pecl/newt/php_newt.h	Tue Dec 28 12:16:51 2004
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_newt.h,v 1.10 2004/12/27 22:11:59 michael Exp $ */
+/* $Id: php_newt.h,v 1.11 2004/12/28 17:16:51 michael Exp $ */
 
 #include <newt.h>
 
@@ -210,8 +210,8 @@
 static void newt_suspend_callback_wrapper (void *cb_key);
 static void newt_help_callback_wrapper (newtComponent form, char *help);
 
-void php_newt_init_globals (zend_newt_globals *newt_globals TSRMLS_DC);
-void php_newt_destroy_globals(zend_newt_globals *newt_globals TSRMLS_DC);
+static void php_newt_init_globals (zend_newt_globals *newt_globals TSRMLS_DC);
+static void php_newt_destroy_globals(zend_newt_globals *newt_globals TSRMLS_DC);
 void php_newt_free_cb (php_newt_cb **cb_ptr);
 int php_newt_fetch_resource (zval *rsrc, void *data, int le_type);
 

http://cvs.php.net/co.php/pecl/newt/examples/newt_entry_set_filter.php?r=1.1&p=1
Index: pecl/newt/examples/newt_entry_set_filter.php
+++ pecl/newt/examples/newt_entry_set_filter.php
<?
class A
{
	function run()
	{
		newt_init ();
		newt_cls ();

		newt_centered_window (50, 10, "Test entry callbacks");

		$f = newt_form ();
		$l = newt_label (3, 1, "You cannot type whitespaces in this entry:");
		$e = newt_entry (5, 3, 40);
		newt_entry_set_filter ($e, array(&$this, "entry_callback"), null);
		$b = newt_button (21, 6, "OK");
		newt_form_add_components ($f, array ($l, $e, $b));
		newt_run_form ($f);

		newt_pop_window();
		newt_form_destroy($f);

		newt_finished ();
	}

	function entry_callback($e, $d, $ch, $cur)
	{
		if($ch == ' ') return 0;
		return $ch;
	}
}

$a =& new A();
$a->run();

?>

http://cvs.php.net/co.php/pecl/newt/examples/newt_win_entries.php?r=1.1&p=1
Index: pecl/newt/examples/newt_win_entries.php
+++ pecl/newt/examples/newt_win_entries.php
<?
	newt_init ();
	newt_cls ();

	$entries[] = array('text' => "First name:", 'value' => &$f_name);
	$entries[] = array('text' => "Last name:", 'value' => &$l_name);

	$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, \
7, 30, $entries, "Ok", "Back");  newt_finished ();

	if ($rc != 2) {
		print ("Your name is: ".$entries[1]['value']." ".$entries[0]['value']."\n");
	}
?>

http://cvs.php.net/co.php/pecl/newt/examples/newt_win_menu.php?r=1.1&p=1
Index: pecl/newt/examples/newt_win_menu.php
+++ pecl/newt/examples/newt_win_menu.php
<?
	newt_init ();
	newt_cls ();

	$options = array("eth0", "eth1", "lo");
	
	$rc = newt_win_menu("Network configuration tool", "Which interface to configure?", \
30, 0, 20, 6, $options, &$option, "Ok", "Back");

	newt_finished ();

	if($rc == 1) {
		echo "You have choosed to configure interface: ".$options[$option]."\n";
	} else if($rc == 2) {
		echo "You have pressed Back, but there's no screen to display :(\n";
	}
?>

http://cvs.php.net/co.php/pecl/newt/examples/redhat_netconf_example.php?r=1.1&p=1
Index: pecl/newt/examples/redhat_netconf_example.php
+++ pecl/newt/examples/redhat_netconf_example.php
<?
	newt_init ();
	newt_cls ();
	
	newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
	newt_push_help_line (null);
	newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

	newt_get_screen_size (&$rows, &$cols);
	
	newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

	$form = newt_form ();

	$list = newt_listbox (3, 2, 10);
	
	foreach (array (
		"Authentication configuration",
		"Firewall configuration",
		"Mouse configuration",
		"Network configuration",
		"Printer configuration",
		"System services") as $l_item)
	{
		newt_listbox_add_entry ($list, $l_item, $l_item);
	}

	$b1 = newt_button (5, 12, "Run Tool");
	$b2 = newt_button (21, 12, "Quit");
	
	newt_form_add_component ($form, $list);
	newt_form_add_components ($form, array($b1, $b2));

	newt_refresh ();
	newt_run_form ($form);

	newt_pop_window ();
	newt_pop_help_line ();
	newt_finished ();
	newt_form_destroy ($form);
?>



-- 
PECL CVS Mailing List 
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic