abies Wed May 12 09:14:55 2004 EDT Modified files: /php-src/ext/interbase interbase.c Log: Made ibase_timefmt() check its args more thoroughly and nuked a pointless malloc() http://cvs.php.net/diff.php/php-src/ext/interbase/interbase.c?r1=1.212&r2=1.213&ty=u Index: php-src/ext/interbase/interbase.c diff -u php-src/ext/interbase/interbase.c:1.212 php-src/ext/interbase/interbase.c:1.213 --- php-src/ext/interbase/interbase.c:1.212 Wed May 12 09:07:35 2004 +++ php-src/ext/interbase/interbase.c Wed May 12 09:14:55 2004 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interbase.c,v 1.212 2004/05/12 13:07:35 abies Exp $ */ +/* $Id: interbase.c,v 1.213 2004/05/12 13:14:55 abies Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -30,7 +30,7 @@ #include "php.h" -#define FILE_REVISION "$Revision: 1.212 $" +#define FILE_REVISION "$Revision: 1.213 $" #if HAVE_IBASE @@ -1136,34 +1136,18 @@ #endif /* }}} */ -#if HAVE_STRFTIME /* {{{ proto bool ibase_timefmt(string format [, int type ]) Sets the format of timestamp, date and time columns returned from queries */ PHP_FUNCTION(ibase_timefmt) { - zval ***args; - char *fmt = NULL; - int type = PHP_IBASE_TIMESTAMP; - - if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 2) { - WRONG_PARAM_COUNT; - } + char *fmt; + int fmt_len; + long type = PHP_IBASE_TIMESTAMP; - args = (zval ***) safe_emalloc(sizeof(zval **), ZEND_NUM_ARGS(), 0); - if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) { - efree(args); + if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &fmt, &fmt_len, &type)) { RETURN_FALSE; } - switch (ZEND_NUM_ARGS()) { - case 2: - convert_to_long_ex(args[1]); - type = Z_LVAL_PP(args[1]); - case 1: - convert_to_string_ex(args[0]); - fmt = Z_STRVAL_PP(args[0]); - } - switch (type) { case PHP_IBASE_TIMESTAMP: if (IBG(timestampformat)) { @@ -1183,13 +1167,13 @@ } IBG(timeformat) = DL_STRDUP(fmt); break; + default: + RETURN_FALSE; } - efree(args); RETURN_TRUE; } /* }}} */ -#endif /* {{{ proto int ibase_gen_id(string generator [, int increment [, resource link_identifier ]]) Increments the named generator and returns its new value */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php