minor improvements

This commit is contained in:
Antony Dovgal 2006-08-22 11:09:12 +00:00
parent 7dfbf5b2e4
commit 08a9ab02ba
6 changed files with 17 additions and 18 deletions

View file

@ -897,12 +897,12 @@ sb4 php_oci_fetch_errmsg(OCIError *error_handle, text **error_buf TSRMLS_DC)
if (error_code) { if (error_code) {
int tmp_buf_len = strlen(tmp_buf); int tmp_buf_len = strlen(tmp_buf);
if (tmp_buf[tmp_buf_len - 1] == '\n') { if (tmp_buf_len && tmp_buf[tmp_buf_len - 1] == '\n') {
tmp_buf[tmp_buf_len - 1] = '\0'; tmp_buf[tmp_buf_len - 1] = '\0';
} }
if (error_buf) { if (tmp_buf_len && error_buf) {
*error_buf = NULL; *error_buf = NULL;
*error_buf = estrndup(tmp_buf, tmp_buf_len + 1); *error_buf = estrndup(tmp_buf, tmp_buf_len);
} }
} }
return error_code; return error_code;
@ -1142,7 +1142,7 @@ open:
if (alloc_non_persistent) { if (alloc_non_persistent) {
connection = (php_oci_connection *) ecalloc(1, sizeof(php_oci_connection)); connection = (php_oci_connection *) ecalloc(1, sizeof(php_oci_connection));
connection->hash_key = estrndup(hashed_details.c, hashed_details.len+1); connection->hash_key = estrndup(hashed_details.c, hashed_details.len);
connection->is_persistent = 0; connection->is_persistent = 0;
} else { } else {
connection = (php_oci_connection *) calloc(1, sizeof(php_oci_connection)); connection = (php_oci_connection *) calloc(1, sizeof(php_oci_connection));
@ -1151,7 +1151,7 @@ open:
} }
} else { } else {
connection = (php_oci_connection *) ecalloc(1, sizeof(php_oci_connection)); connection = (php_oci_connection *) ecalloc(1, sizeof(php_oci_connection));
connection->hash_key = estrndup(hashed_details.c, hashed_details.len+1); connection->hash_key = estrndup(hashed_details.c, hashed_details.len);
connection->is_persistent = 0; connection->is_persistent = 0;
} }

View file

@ -1636,15 +1636,14 @@ PHP_FUNCTION(oci_parse)
php_oci_statement *statement; php_oci_statement *statement;
char *query; char *query;
int query_len; int query_len;
zend_bool cached = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|b", &z_connection, &query, &query_len, &cached) == FAILURE) { if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &z_connection, &query, &query_len) == FAILURE) {
return; return;
} }
PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection);
statement = php_oci_statement_create(connection, query, query_len, cached TSRMLS_CC); statement = php_oci_statement_create(connection, query, query_len TSRMLS_CC);
if (statement) { if (statement) {
RETURN_RESOURCE(statement->id); RETURN_RESOURCE(statement->id);
@ -1748,7 +1747,7 @@ PHP_FUNCTION(oci_new_cursor)
PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection); PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection);
statement = php_oci_statement_create(connection, NULL, 0, 0 TSRMLS_CC); statement = php_oci_statement_create(connection, NULL, 0 TSRMLS_CC);
if (statement) { if (statement) {
RETURN_RESOURCE(statement->id); RETURN_RESOURCE(statement->id);

View file

@ -479,7 +479,7 @@ int php_oci_lob_set_buffering (php_oci_descriptor *descriptor, int on_off TSRMLS
/* {{{ php_oci_lob_get_buffering() /* {{{ php_oci_lob_get_buffering()
Return current buffering state for the LOB */ Return current buffering state for the LOB */
int php_oci_lob_get_buffering (php_oci_descriptor *descriptor TSRMLS_DC) int php_oci_lob_get_buffering (php_oci_descriptor *descriptor)
{ {
if (descriptor->buffering != PHP_OCI_LOB_BUFFER_DISABLED) { if (descriptor->buffering != PHP_OCI_LOB_BUFFER_DISABLED) {
return 1; return 1;

View file

@ -43,7 +43,7 @@
/* {{{ php_oci_statement_create() /* {{{ php_oci_statement_create()
Create statemend handle and allocate necessary resources */ Create statemend handle and allocate necessary resources */
php_oci_statement *php_oci_statement_create (php_oci_connection *connection, char *query, long query_len, zend_bool cached TSRMLS_DC) php_oci_statement *php_oci_statement_create (php_oci_connection *connection, char *query, int query_len TSRMLS_DC)
{ {
php_oci_statement *statement; php_oci_statement *statement;
@ -258,7 +258,7 @@ int php_oci_statement_fetch(php_oci_statement *statement, ub4 nrows TSRMLS_DC)
/* {{{ php_oci_statement_get_column() /* {{{ php_oci_statement_get_column()
Get column from the result set */ Get column from the result set */
php_oci_out_column *php_oci_statement_get_column(php_oci_statement *statement, long column_index, char *column_name, long column_name_len TSRMLS_DC) php_oci_out_column *php_oci_statement_get_column(php_oci_statement *statement, long column_index, char *column_name, int column_name_len TSRMLS_DC)
{ {
php_oci_out_column *column = NULL; php_oci_out_column *column = NULL;
int i; int i;
@ -485,7 +485,7 @@ int php_oci_statement_execute(php_oci_statement *statement, ub4 mode TSRMLS_DC)
buf = 0; buf = 0;
switch (outcol->data_type) { switch (outcol->data_type) {
case SQLT_RSET: case SQLT_RSET:
outcol->statement = php_oci_statement_create(statement->connection, NULL, 0, 0 TSRMLS_CC); outcol->statement = php_oci_statement_create(statement->connection, NULL, 0 TSRMLS_CC);
outcol->stmtid = outcol->statement->id; outcol->stmtid = outcol->statement->id;
outcol->statement->nested = 1; outcol->statement->nested = 1;

View file

@ -327,7 +327,7 @@ int php_oci_lob_read (php_oci_descriptor *, long, long, char **, ub4 * TSRMLS_DC
int php_oci_lob_write (php_oci_descriptor *, ub4, char *, int, ub4 * TSRMLS_DC); int php_oci_lob_write (php_oci_descriptor *, ub4, char *, int, ub4 * TSRMLS_DC);
int php_oci_lob_flush (php_oci_descriptor *, int TSRMLS_DC); int php_oci_lob_flush (php_oci_descriptor *, int TSRMLS_DC);
int php_oci_lob_set_buffering (php_oci_descriptor *, int TSRMLS_DC); int php_oci_lob_set_buffering (php_oci_descriptor *, int TSRMLS_DC);
int php_oci_lob_get_buffering (php_oci_descriptor * TSRMLS_DC); int php_oci_lob_get_buffering (php_oci_descriptor *);
int php_oci_lob_copy (php_oci_descriptor *, php_oci_descriptor *, long TSRMLS_DC); int php_oci_lob_copy (php_oci_descriptor *, php_oci_descriptor *, long TSRMLS_DC);
#ifdef HAVE_OCI8_TEMP_LOB #ifdef HAVE_OCI8_TEMP_LOB
int php_oci_lob_close (php_oci_descriptor * TSRMLS_DC); int php_oci_lob_close (php_oci_descriptor * TSRMLS_DC);
@ -372,10 +372,10 @@ int php_oci_collection_append_string(php_oci_collection *, char *, int TSRMLS_DC
/* statement related prototypes {{{ */ /* statement related prototypes {{{ */
php_oci_statement * php_oci_statement_create (php_oci_connection *, char *, long, zend_bool TSRMLS_DC); php_oci_statement * php_oci_statement_create (php_oci_connection *, char *, int TSRMLS_DC);
int php_oci_statement_set_prefetch (php_oci_statement *, ub4 TSRMLS_DC); int php_oci_statement_set_prefetch (php_oci_statement *, ub4 TSRMLS_DC);
int php_oci_statement_fetch (php_oci_statement *, ub4 TSRMLS_DC); int php_oci_statement_fetch (php_oci_statement *, ub4 TSRMLS_DC);
php_oci_out_column * php_oci_statement_get_column (php_oci_statement *, long, char*, long TSRMLS_DC); php_oci_out_column * php_oci_statement_get_column (php_oci_statement *, long, char*, int TSRMLS_DC);
int php_oci_statement_execute (php_oci_statement *, ub4 TSRMLS_DC); int php_oci_statement_execute (php_oci_statement *, ub4 TSRMLS_DC);
int php_oci_statement_cancel (php_oci_statement * TSRMLS_DC); int php_oci_statement_cancel (php_oci_statement * TSRMLS_DC);
void php_oci_statement_free (php_oci_statement * TSRMLS_DC); void php_oci_statement_free (php_oci_statement * TSRMLS_DC);

View file

@ -9,11 +9,11 @@ require dirname(__FILE__)."/connect.inc";
$pc = oci_pconnect($user, $password, $dbase); $pc = oci_pconnect($user, $password, $dbase);
$stmt = oci_parse($pc, "select 1+3 from dual", true); $stmt = oci_parse($pc, "select 1+3 from dual");
oci_execute($stmt); oci_execute($stmt);
var_dump(oci_fetch_array($stmt)); var_dump(oci_fetch_array($stmt));
$stmt = oci_parse($pc, "select 1+3 from dual", true); $stmt = oci_parse($pc, "select 1+3 from dual");
oci_execute($stmt); oci_execute($stmt);
var_dump(oci_fetch_array($stmt)); var_dump(oci_fetch_array($stmt));