cvs: php-src(PHP_5_1) /ext/pdo pdo_dbh.c php_pdo.h

From: Date: Sat, 01 Oct 2005 02:48:15 +0000
Subject: cvs: php-src(PHP_5_1) /ext/pdo pdo_dbh.c php_pdo.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-34206@lists.php.net to get a copy of this message
wez Fri Sep 30 22:48:15 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/pdo pdo_dbh.c php_pdo.h Log: Allow compilation with PHP 5.0.x Closes PECL #5514 http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_dbh.c?r1=1.82.2.4&r2=1.82.2.5&ty=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.82.2.4 php-src/ext/pdo/pdo_dbh.c:1.82.2.5 --- php-src/ext/pdo/pdo_dbh.c:1.82.2.4 Tue Sep 20 15:52:24 2005 +++ php-src/ext/pdo/pdo_dbh.c Fri Sep 30 22:48:11 2005 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_dbh.c,v 1.82.2.4 2005/09/20 19:52:24 iliaa Exp $ */ +/* $Id: pdo_dbh.c,v 1.82.2.5 2005/10/01 02:48:11 wez Exp $ */ /* The PDO Database Handle Class */ @@ -762,7 +762,7 @@ RETURN_LONG(dbh->error_mode); case PDO_ATTR_DRIVER_NAME: - RETURN_STRINGL(dbh->driver->driver_name, dbh->driver->driver_name_len, 1); + RETURN_STRINGL((char*)dbh->driver->driver_name, dbh->driver->driver_name_len, 1); } if (!dbh->methods->get_attribute) { @@ -1141,6 +1141,32 @@ static zend_object_handlers pdo_dbh_object_handlers; +PDO_API void php_pdo_declare_stringl_constant(const char *const_name, + size_t name_len, const char *value, size_t value_len TSRMLS_DC) +{ +#if PHP_MAJOR_VERSION > 5 || PHP_MINOR_VERSION >= 1 + zend_declare_class_constant_stringl(pdo_dbh_ce, const_name, name_len, value, value_len TSRMLS_CC); +#else + zval *constant = malloc(sizeof(*constant)); + ZVAL_STRINGL(constant, zend_strndup(value, value_len), value_len, 0); + INIT_PZVAL(constant); + zend_hash_update(&pdo_dbh_ce->constants_table, (char*)const_name, name_len+1, &constant, sizeof(zval*), NULL); +#endif +} + +PDO_API void php_pdo_declare_long_constant(const char *const_name, + unsigned int name_len, long value TSRMLS_DC) +{ +#if PHP_MAJOR_VERSION > 5 || PHP_MINOR_VERSION >= 1 + zend_declare_class_constant_long(pdo_dbh_ce, const_name, name_len, value TSRMLS_CC); +#else + zval *constant = malloc(sizeof(*constant)); + ZVAL_LONG(constant, value); + INIT_PZVAL(constant); + zend_hash_update(&pdo_dbh_ce->constants_table, (char*)const_name, name_len+1, &constant, sizeof(zval*), NULL); +#endif +} + void pdo_dbh_init(TSRMLS_D) { zend_class_entry ce; http://cvs.php.net/diff.php/php-src/ext/pdo/php_pdo.h?r1=1.7.2.2&r2=1.7.2.3&ty=u Index: php-src/ext/pdo/php_pdo.h diff -u php-src/ext/pdo/php_pdo.h:1.7.2.2 php-src/ext/pdo/php_pdo.h:1.7.2.3 --- php-src/ext/pdo/php_pdo.h:1.7.2.2 Tue Sep 20 15:52:24 2005 +++ php-src/ext/pdo/php_pdo.h Fri Sep 30 22:48:11 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_pdo.h,v 1.7.2.2 2005/09/20 19:52:24 iliaa Exp $ */ +/* $Id: php_pdo.h,v 1.7.2.3 2005/10/01 02:48:11 wez Exp $ */ #ifndef PHP_PDO_H #define PHP_PDO_H @@ -58,17 +58,14 @@ # define PDOG(v) (pdo_globals.v) #endif -#define REGISTER_PDO_CLASS_CONST_LONG(const_name, value) \ - zend_declare_class_constant_long(pdo_dbh_ce, const_name, sizeof(const_name)-1, (long)value TSRMLS_CC); +PDO_API void php_pdo_declare_long_constant(const char *const_name, size_t name_len, long value TSRMLS_DC); +PDO_API void php_pdo_declare_stringl_constant(const char *const_name, size_t name_len, const char *value, size_t value_len TSRMLS_DC); -#define REGISTER_PDO_CONST_LONG(const_name, value) { \ - zend_class_entry **pce; \ - if (zend_hash_find(CG(class_table), "pdo", sizeof("pdo"), (void **) &pce) != FAILURE) \ - zend_declare_class_constant_long(*pce, const_name, sizeof(const_name)-1, (long)value TSRMLS_CC); \ -} \ +#define REGISTER_PDO_CLASS_CONST_LONG(const_name, value) \ + php_pdo_declare_long_constant(const_name, sizeof(const_name)-1, (long)value TSRMLS_CC); #define REGISTER_PDO_CLASS_CONST_STRING(const_name, value) \ - zend_declare_class_constant_stringl(pdo_dbh_ce, const_name, sizeof(const_name)-1, value, sizeof(value)-1 TSRMLS_CC); + php_pdo_declare_stringl_constant(const_name, sizeof(const_name)-1, value, sizeof(value)-1 TSRMLS_CC); #define PDO_CONSTRUCT_CHECK \ if (!dbh->driver) { \

« previous php.cvs (#34206) next »