cvs: php4 /ext/fbsql php_fbsql.c

From: Date: Mon, 15 Oct 2001 17:33:15 +0000
Subject: cvs: php4 /ext/fbsql php_fbsql.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-7817@lists.php.net to get a copy of this message
fmk Mon Oct 15 13:33:15 2001 EDT Modified files: /php4/ext/fbsql php_fbsql.c Log: Fixing problem with indirect blobs Index: php4/ext/fbsql/php_fbsql.c diff -u php4/ext/fbsql/php_fbsql.c:1.55 php4/ext/fbsql/php_fbsql.c:1.56 --- php4/ext/fbsql/php_fbsql.c:1.55 Thu Oct 11 19:32:45 2001 +++ php4/ext/fbsql/php_fbsql.c Mon Oct 15 13:33:14 2001 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_fbsql.c,v 1.55 2001/10/11 23:32:45 ssb Exp $ */ +/* $Id: php_fbsql.c,v 1.56 2001/10/15 17:33:14 fmk Exp $ */ /* TODO: * @@ -932,12 +932,13 @@ } ZEND_FETCH_RESOURCE2(phpLink, PHPFBLink *, fbsql_link_index, id, "FrontBase-Link", le_link, le_plink); + convert_to_string_ex(lob_data); switch (lob_type) { case 0 : // BLOB - lobHandle = fbcdcWriteBLOB(phpLink->connection, Z_STRVAL_PP(lob_data), Z_STRLEN_PP(lob_data)); + lobHandle = fbcdcWriteBLOB(phpLink->connection, Z_STRVAL_PP(lob_data), Z_STRLEN_PP(lob_data)); break; case 1 : // CLOB - lobHandle = fbcdcWriteCLOB(phpLink->connection, Z_STRVAL_PP(lob_data)); + lobHandle = fbcdcWriteCLOB(phpLink->connection, Z_STRVAL_PP(lob_data)); break; } if (lobHandle) { @@ -2200,22 +2201,20 @@ { // Direct *length = ((FBCBlobDirect *)data)->blobSize; - *value = emalloc(*length + 1); - strncpy(*value, (char *)((FBCBlobDirect *)data)->blobData, *length); + *value = estrndup((char *)((FBCBlobDirect *)data)->blobData, *length); } else { FBCBlobHandle *lobHandle; - char *handle = (char *)(&((unsigned char*)data)[1]); - + unsigned char *bytes = (unsigned char *)data; + char *handle = (char *)(&bytes[1]); lobHandle = fbcbhInitWithHandle(handle); *length = fbcbhBlobSize(lobHandle); - *value = emalloc(*length + 1); if (dtc == FB_BLOB) - strncpy(*value, (char *)fbcdcReadBLOB(result->link->connection, lobHandle), *length); + *value = estrndup((char *)fbcdcReadBLOB(result->link->connection, lobHandle), *length); else - strncpy(*value, (char *)fbcdcReadCLOB(result->link->connection, lobHandle), *length); + *value = estrndup((char *)fbcdcReadCLOB(result->link->connection, lobHandle), *length); fbcbhRelease(lobHandle); } }

« previous php.cvs (#7817) next »