]> granicus.if.org Git - php/commitdiff
Changed length of BIT string.
authorFrank M. Kromann <fmk@php.net>
Wed, 20 Jun 2001 22:54:51 +0000 (22:54 +0000)
committerFrank M. Kromann <fmk@php.net>
Wed, 20 Jun 2001 22:54:51 +0000 (22:54 +0000)
Changed return value of fbsql_field_length to long

ext/fbsql/php_fbsql.c

index ee1f9945836849bf502ea381bb0aaa2acf900e6b..5ab59cbc906bd35da28258db8e342d0d80a596d0 100644 (file)
@@ -271,6 +271,7 @@ static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc)
                        fbcdcClose(link->connection);
                        fbcdcRelease(link->connection);
                }
+               if (link->execHandler) fbcehRelease(link->execHandler);
                efree(link);
                FB_SQL_G(linkCount)--;
        }
@@ -292,6 +293,7 @@ static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc)
                        fbcdcClose(link->connection);
                        fbcdcRelease(link->connection);
                }
+               if (link->execHandler) fbcehRelease(link->execHandler);
                free(link);
                FB_SQL_G(linkCount)--;
                FB_SQL_G(persistantCount)--;
@@ -2036,7 +2038,7 @@ void phpfbColumnAsString (PHPFBResult* result, int column, void* data ,int* leng
                        {
                                unsigned i;
                                unsigned int l = nBits / 8;
-                               *length = l + 5;
+                               *length = l*2+3+1;
                                if (value)
                                {
                                        char*        r = emalloc(l*2+3+1);
@@ -2058,7 +2060,7 @@ void phpfbColumnAsString (PHPFBResult* result, int column, void* data ,int* leng
                        {
                                unsigned i;
                                unsigned int l = nBits;
-                               *length = l + 5;
+                               *length = l*2+3+1;
                                if (value)
                                {
                                        char*        r = emalloc(l*2+3+1);
@@ -2847,10 +2849,7 @@ PHP_FUNCTION(fbsql_field_len)
        }
        else if (result->metaData)
        {
-               unsigned int length = fbcdmdLength(fbccmdDatatype(fbcmdColumnMetaDataAtIndex(result->metaData,column)));
-               char         buffer[50];
-               sprintf(buffer,"%d",length);
-               RETURN_STRING(buffer, 1);
+               RETURN_LONG(fbcdmdLength(fbccmdDatatype(fbcmdColumnMetaDataAtIndex(result->metaData,column))));
        }
        else
        {