diff options
Diffstat (limited to 'ext/oci8')
-rw-r--r-- | ext/oci8/oci8.c | 6 | ||||
-rw-r--r-- | ext/oci8/php_oci8.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 6a43f3d7e3..ccacdb0646 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -563,7 +563,7 @@ PHP_RSHUTDOWN_FUNCTION(oci) { oci_debug("START php_rshutdown_oci"); -#if 0 +#if 0 /* XXX free all statements, rollback all outstanding transactions */ zend_hash_apply(OCI(user),(int (*)(void *))_session_cleanup); @@ -649,8 +649,12 @@ _oci_bind_post_exec(void *data) zval *val = bind->zval; zval_dtor(val); ZVAL_NULL(val); + } else if (bind->zval->type == IS_STRING) { + bind->zval->value.str.val = realloc(bind->zval->value.str.val, bind->zval->value.str.len+1); + bind->zval->value.str.val[ bind->zval->value.str.len ] = '\0'; } + return 0; } diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h index a9f59db556..db474c3fab 100644 --- a/ext/oci8/php_oci8.h +++ b/ext/oci8/php_oci8.h @@ -181,6 +181,8 @@ typedef struct { HashTable *user; OCIEnv *pEnv; + + int in_call; } php_oci_globals; extern zend_module_entry oci8_module_entry; |