@@ -271,6 +271,7 @@ static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc)
271
271
fbcdcClose (link -> connection );
272
272
fbcdcRelease (link -> connection );
273
273
}
274
+ if (link -> execHandler ) fbcehRelease (link -> execHandler );
274
275
efree (link );
275
276
FB_SQL_G (linkCount )-- ;
276
277
}
@@ -292,6 +293,7 @@ static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc)
292
293
fbcdcClose (link -> connection );
293
294
fbcdcRelease (link -> connection );
294
295
}
296
+ if (link -> execHandler ) fbcehRelease (link -> execHandler );
295
297
free (link );
296
298
FB_SQL_G (linkCount )-- ;
297
299
FB_SQL_G (persistantCount )-- ;
@@ -2036,7 +2038,7 @@ void phpfbColumnAsString (PHPFBResult* result, int column, void* data ,int* leng
2036
2038
{
2037
2039
unsigned i ;
2038
2040
unsigned int l = nBits / 8 ;
2039
- * length = l + 5 ;
2041
+ * length = l * 2 + 3 + 1 ;
2040
2042
if (value )
2041
2043
{
2042
2044
char * r = emalloc (l * 2 + 3 + 1 );
@@ -2058,7 +2060,7 @@ void phpfbColumnAsString (PHPFBResult* result, int column, void* data ,int* leng
2058
2060
{
2059
2061
unsigned i ;
2060
2062
unsigned int l = nBits ;
2061
- * length = l + 5 ;
2063
+ * length = l * 2 + 3 + 1 ;
2062
2064
if (value )
2063
2065
{
2064
2066
char * r = emalloc (l * 2 + 3 + 1 );
@@ -2847,10 +2849,7 @@ PHP_FUNCTION(fbsql_field_len)
2847
2849
}
2848
2850
else if (result -> metaData )
2849
2851
{
2850
- unsigned int length = fbcdmdLength (fbccmdDatatype (fbcmdColumnMetaDataAtIndex (result -> metaData ,column )));
2851
- char buffer [50 ];
2852
- sprintf (buffer ,"%d" ,length );
2853
- RETURN_STRING (buffer , 1 );
2852
+ RETURN_LONG (fbcdmdLength (fbccmdDatatype (fbcmdColumnMetaDataAtIndex (result -> metaData ,column ))));
2854
2853
}
2855
2854
else
2856
2855
{
0 commit comments