]> granicus.if.org Git - php/commitdiff
Changed return value for BLOB/CLOB values to a string. and returning false if no...
authorFrank M. Kromann <fmk@php.net>
Wed, 10 Oct 2001 22:24:57 +0000 (22:24 +0000)
committerFrank M. Kromann <fmk@php.net>
Wed, 10 Oct 2001 22:24:57 +0000 (22:24 +0000)
ext/fbsql/php_fbsql.c

index 221da1f9cd10b273c3e91a5daad1272e73b19b21..1684986a58d5712b3789069566f90071114516d0 100644 (file)
@@ -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)
 {