cvs: php-src(PHP_5_1) /ext/pdo pdo_dbh.c php_pdo.h
| From: | Wez Furlong | 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) { \