cvs: pecl /paradox paradox.c

From: Date: Sun, 27 Jul 2003 16:39:16 +0000
Subject: cvs: pecl /paradox paradox.c
Groups: php.pecl.cvs 
Request: Send a blank email to pecl-cvs+get-386@lists.php.net to get a copy of this message
steinm Sun Jul 27 12:39:16 2003 EDT Modified files: /pecl/paradox paradox.c Log: - px_get_schema gets optional parameter to make field names in the returned array lower case Index: pecl/paradox/paradox.c diff -u pecl/paradox/paradox.c:1.2 pecl/paradox/paradox.c:1.3 --- pecl/paradox/paradox.c:1.2 Fri Jul 25 02:42:40 2003 +++ pecl/paradox/paradox.c Sun Jul 27 12:39:16 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: paradox.c,v 1.2 2003/07/25 06:42:40 steinm Exp $ */ +/* $Id: paradox.c,v 1.3 2003/07/27 16:39:16 steinm Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -218,7 +218,7 @@ php_info_print_table_start(); php_info_print_table_header(2, "paradox support", "enabled"); php_info_print_table_row(2, "pxlib Version", tmp ); - php_info_print_table_row(2, "Revision", "$Revision: 1.2 $" ); + php_info_print_table_row(2, "Revision", "$Revision: 1.3 $" ); php_info_print_table_end(); /* Remove comments if you have entries in php.ini @@ -308,7 +308,7 @@ } /* }}} */ -/* {{{ proto bool px_get_record(resource pxdoc, int recno, int type) +/* {{{ proto bool px_get_record(resource pxdoc, int recno[, int type]) Returns a record from the database */ PHP_FUNCTION(px_get_record) { @@ -514,17 +514,32 @@ } /* }}} */ -/* {{{ proto array px_get_schema(resource pxdoc) +/* {{{ proto array px_get_schema(resource pxdoc[, int type]) Returns meta data of a table */ PHP_FUNCTION(px_get_schema) { - zval **arg1; + zval **arg1, **arg2; pxdoc_t *pxdoc; pxfield_t *pxf, *pxf1; int i, fn; + int result_type = 0; - if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { - WRONG_PARAM_COUNT; + switch (ZEND_NUM_ARGS()) { + case 1: + if (zend_get_parameters_ex(1, &arg1) == FAILURE) { + RETURN_FALSE; + } + break; + case 2: + if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) { + RETURN_FALSE; + } + convert_to_long_ex(arg2); + result_type = Z_LVAL_PP(arg2); + break; + default: + WRONG_PARAM_COUNT; + break; } ZEND_FETCH_RESOURCE(pxdoc, pxdoc_t *, arg1, -1, "px object", le_pxdoc); @@ -537,12 +552,23 @@ array_init(return_value); for(i=0; i<fn; i++) { + char *fname; zval *fieldarr; MAKE_STD_ZVAL(fieldarr); array_init(fieldarr); add_assoc_long(fieldarr, "type", pxf->px_ftype); add_assoc_long(fieldarr, "size", pxf->px_flen); - zend_hash_add(Z_ARRVAL_P(return_value), pxf->px_fname, strlen(pxf->px_fname)+1, &fieldarr, sizeof(zval *), NULL); + switch(result_type) { + case PX_KEYTOLOWER: + fname = php_strtolower(pxf->px_fname, strlen(pxf->px_fname)); + break; + case PX_KEYTOUPPER: + fname = php_strtoupper(pxf->px_fname, strlen(pxf->px_fname)); + break; + default: + fname = pxf->px_fname; + } + zend_hash_add(Z_ARRVAL_P(return_value), fname, strlen(fname)+1, &fieldarr, sizeof(zval *), NULL); pxf++; } }

« previous php.pecl.cvs (#386) next »