diff options
author | Frank M. Kromann <fmk@php.net> | 2001-10-10 22:24:57 +0000 |
---|---|---|
committer | Frank M. Kromann <fmk@php.net> | 2001-10-10 22:24:57 +0000 |
commit | 8d88fb8bf3514aaeed0c6731e2969d3ecee4acc5 (patch) | |
tree | 9b4f2bf78ae2a09fc2ce20ebe8c8fdf617ba77c6 /ext/fbsql/php_fbsql.c | |
parent | 692d30b7bea6d39b30aa3abd0f0bc30d4de6f6a1 (diff) | |
download | php-git-8d88fb8bf3514aaeed0c6731e2969d3ecee4acc5.tar.gz |
Changed return value for BLOB/CLOB values to a string. and returning false if no handle is created.
Diffstat (limited to 'ext/fbsql/php_fbsql.c')
-rw-r--r-- | ext/fbsql/php_fbsql.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c index 221da1f9cd..1684986a58 100644 --- a/ext/fbsql/php_fbsql.c +++ b/ext/fbsql/php_fbsql.c @@ -63,7 +63,7 @@ #include "php_fbsql.h" #include <signal.h> -static int le_result, le_link, le_plink, le_lob; +static int le_result, le_link, le_plink; struct PHPFBResult; typedef struct PHPFBResult PHPFBResult; @@ -252,7 +252,6 @@ ZEND_GET_MODULE(fbsql) static void phpfbReleaseResult (zend_rsrc_list_entry *rsrc TSRMLS_DC); static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc TSRMLS_DC); static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc TSRMLS_DC); -static void phpfbReleaseLOB (zend_rsrc_list_entry *rsrc TSRMLS_DC); static void phpfbReleaseResult(zend_rsrc_list_entry *rsrc TSRMLS_DC) { @@ -318,16 +317,6 @@ static void phpfbReleasePLink(zend_rsrc_list_entry *rsrc TSRMLS_DC) } } -static void phpfbReleaseLOB(zend_rsrc_list_entry *rsrc TSRMLS_DC) -{ - FBCBlobHandle *lobHandle = (FBCBlobHandle *)rsrc->ptr; - - if (lobHandle) - { - fbcbhRelease(lobHandle); - } -} - static void php_fbsql_set_default_link(int id TSRMLS_DC) { if (FB_SQL_G(linkIndex)!=-1) { @@ -395,7 +384,6 @@ PHP_MINIT_FUNCTION(fbsql) le_result = zend_register_list_destructors_ex(phpfbReleaseResult, NULL, "fbsql result", module_number); le_link = zend_register_list_destructors_ex(phpfbReleaseLink, NULL, "fbsql link", module_number); le_plink = zend_register_list_destructors_ex(NULL, phpfbReleasePLink, "fbsql plink", module_number); - le_lob = zend_register_list_destructors_ex(phpfbReleaseLOB, NULL, "fbsql lob handle", module_number); Z_TYPE(fbsql_module_entry) = type; REGISTER_LONG_CONSTANT("FBSQL_ASSOC", FBSQL_ASSOC, CONST_CS | CONST_PERSISTENT); @@ -950,10 +938,15 @@ static void php_fbsql_create_lob(INTERNAL_FUNCTION_PARAMETERS, int lob_type) lobHandle = fbcdcWriteCLOB(phpLink->connection, Z_STRVAL_PP(lob_data)); break; } - ZEND_REGISTER_RESOURCE(return_value, lobHandle, le_lob); + if (lobHandle) { + RETURN_STRING(fbcbhDescription(lobHandle), 1); + fbcbhRelease(lobHandle); + } + else + RETURN_FALSE; } -/* {{{ proto resource fbsql_create_blob(string blob_data [, resource link_identifier]) +/* {{{ proto string fbsql_create_blob(string blob_data [, resource link_identifier]) */ PHP_FUNCTION(fbsql_create_blob) { @@ -961,7 +954,7 @@ PHP_FUNCTION(fbsql_create_blob) } /* }}} */ -/* {{{ proto resource fbsql_create_clob(string clob_data [, resource link_identifier]) +/* {{{ proto string fbsql_create_clob(string clob_data [, resource link_identifier]) */ PHP_FUNCTION(fbsql_create_clob) { |