summaryrefslogtreecommitdiff
path: root/ext/fbsql/php_fbsql.c
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2001-10-10 22:24:57 +0000
committerFrank M. Kromann <fmk@php.net>2001-10-10 22:24:57 +0000
commit8d88fb8bf3514aaeed0c6731e2969d3ecee4acc5 (patch)
tree9b4f2bf78ae2a09fc2ce20ebe8c8fdf617ba77c6 /ext/fbsql/php_fbsql.c
parent692d30b7bea6d39b30aa3abd0f0bc30d4de6f6a1 (diff)
downloadphp-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.c25
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)
{