From e0b3fd8cd14f34aa177072eb50077de58fb59bba Mon Sep 17 00:00:00 2001 From: Boian Bonev Date: Fri, 13 Jul 2001 20:45:19 +0000 Subject: replaced add_index_string with add_next_index_string made vpopmail_alias_get_all return sane result --- ext/vpopmail/php_vpopmail.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'ext/vpopmail/php_vpopmail.c') diff --git a/ext/vpopmail/php_vpopmail.c b/ext/vpopmail/php_vpopmail.c index 30d5428168..965413ce83 100644 --- a/ext/vpopmail/php_vpopmail.c +++ b/ext/vpopmail/php_vpopmail.c @@ -857,7 +857,6 @@ PHP_FUNCTION(vpopmail_alias_get) zval **domain; int retval; char *talias; - uint index=0; if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(ZEND_NUM_ARGS(), &alias, &domain) == FAILURE) @@ -876,7 +875,7 @@ PHP_FUNCTION(vpopmail_alias_get) talias=valias_select(Z_STRVAL_PP(alias), Z_STRVAL_PP(domain)); while (talias) { - add_index_string(return_value,index++,talias,1); + add_next_index_string(return_value,talias,1); talias=valias_select_next(); } } @@ -890,7 +889,8 @@ PHP_FUNCTION(vpopmail_alias_get_all) int retval; char *talias; char tpath[1024]; - uint index=0; + char ppath[1024]=""; + zval *tarr; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(ZEND_NUM_ARGS(), &domain) == FAILURE) @@ -908,9 +908,16 @@ PHP_FUNCTION(vpopmail_alias_get_all) talias=valias_select_all(tpath, Z_STRVAL_PP(domain)); while (talias) { - strcat(tpath,":"); - strcat(tpath,talias); - add_index_string(return_value,index++,tpath,1); + if (strcmp(ppath,tpath)) { + MAKE_STD_ZVAL(tarr); + if (array_init(tarr)!=SUCCESS) { + zend_error(E_ERROR,"unable to create array"); + RETURN_FALSE; + } + add_assoc_zval(return_value,tpath,tarr); + strcpy(ppath,tpath); + } + add_next_index_string(tarr,talias,1); talias=valias_select_all_next(tpath); } } -- cgit v1.2.1