[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
iliaa Wed Jan 22 17:07:27 2003 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c Log: Removed non-needed code. Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.79 php4/ext/sybase_ct/php_sybase_ct.c:1.80 --- php4/ext/sybase_ct/php_sybase_ct.c:1.79 Wed Jan 15 08:55:32 2003 +++ php4/ext/sybase_ct/php_sybase_ct.c Wed Jan 22 17:07:22 2003 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_sybase_ct.c,v 1.79 2003/01/15 13:55:32 iliaa Exp $ */ +/* $Id: php_sybase_ct.c,v 1.80 2003/01/22 22:07:22 iliaa Exp $ */ #ifdef HAVE_CONFIG_H @@ -1262,8 +1262,7 @@ if (sybase_ptr-active_result_index) { zval *tmp = NULL; - php_error_docref(NULL TSRMLS_CC, E_NOTICE, Sybase: Called %s() without first fetching all rows from a previous unbuffered query, - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, called without first +fetching all rows from a previous unbuffered query); if (sybase_ptr-cmd) { ct_cancel(NULL, sybase_ptr-cmd, CS_CANCEL_ALL); } @@ -2058,7 +2057,7 @@ } if (!zend_is_callable(*params[0], 0, name)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, %s(): First argumented is expected to be a valid callback, '%s' was given, get_active_function_name(TSRMLS_C), name); + php_error_docref(NULL TSRMLS_CC, E_WARNING, First argumented is +expected to be a valid callback, '%s' was given, name); efree(name); efree(params); RETURN_FALSE; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
iliaa Sat Jan 11 18:06:35 2003 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c Log: Fixed handling of NUMERIC type, when it contains numbers that could potentially exceed the interger limit. Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.75 php4/ext/sybase_ct/php_sybase_ct.c:1.76 --- php4/ext/sybase_ct/php_sybase_ct.c:1.75 Tue Dec 31 11:07:58 2002 +++ php4/ext/sybase_ct/php_sybase_ct.c Sat Jan 11 18:06:35 2003 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_sybase_ct.c,v 1.75 2002/12/31 16:07:58 sebastian Exp $ */ +/* $Id: php_sybase_ct.c,v 1.76 2003/01/11 23:06:35 iliaa Exp $ */ #ifdef HAVE_CONFIG_H @@ -1168,7 +1168,7 @@ case CS_DECIMAL_TYPE: result-datafmt[i].maxlength = result-datafmt[i].precision + 3; /* numeric(10) vs numeric(10, 1) */ - result-numerics[i] = (result-datafmt[i].scale == 0) ? 1 : 2; + result-numerics[i] = (result-datafmt[i].scale == 0 + result-datafmt[i].precision = 10) ? 1 : 2; break; default: result-datafmt[i].maxlength++; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
iliaa Sat Jan 11 18:50:37 2003 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c Log: Do not 'convert' double columns to integers after the 1st row in the result set. Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.76 php4/ext/sybase_ct/php_sybase_ct.c:1.77 --- php4/ext/sybase_ct/php_sybase_ct.c:1.76 Sat Jan 11 18:06:35 2003 +++ php4/ext/sybase_ct/php_sybase_ct.c Sat Jan 11 18:50:37 2003 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_sybase_ct.c,v 1.76 2003/01/11 23:06:35 iliaa Exp $ */ +/* $Id: php_sybase_ct.c,v 1.77 2003/01/11 23:50:37 iliaa Exp $ */ #ifdef HAVE_CONFIG_H @@ -1059,7 +1059,7 @@ convert_to_long(result-data[i][j]); break; case 2: - convert_to_double(result-data[i][j]); result-numerics[j]= 1; + convert_to_double(result-data[i][j]); break; } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
Make a separate checkout in an empty directory and try this: cvs co -r PHP_4_3 php4/ext/sybase_ct/php_sybase_ct.c On Sun, Dec 08, 2002 at 04:01:32PM +0100, Timm Friebe wrote : On Sun, 2002-12-08 at 10:28, Jani Taskinen wrote: MFH?? --Jani I'm sorry, I've tried the following: $ cvs update -j PHP_4_3 ext/sybase_ct/php_sybase_ct.c doesn't do anything, nor does: $ cvs update -j PHP_4_3 -j 1.74 ext/sybase_ct/php_sybase_ct.c Then again: $ cvs update -j 1.74 -j PHP_4_3 ext/sybase_ct/php_sybase_ct.c wants to remove php_sybase_ct.c cvs server: scheduling ext/sybase_ct/php_sybase_ct.c for removal $ cvs status -v ext/sybase_ct/php_sybase_ct.c === File: no file php_sybase_ct.c Status: Locally Removed Working revision:-1.74 Repository revision: 1.74 /repository/php4/ext/sybase_ct/php_sybase_ct.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) OK, so this is _definitely_ not what I want. So, currently, this is what is showing (and what was showing before, e.g. yesterday): $ cvs status -v ext/sybase_ct/php_sybase_ct.c === File: php_sybase_ct.c Status: Up-to-date Working revision:1.74 Repository revision: 1.74 /repository/php4/ext/sybase_ct/php_sybase_ct.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) Existing Tags: php_4_3_0RC2(revision: 1.73) php_4_3_0RC1(revision: 1.73) PHP_4_3 (branch: 1.73.2) php_4_3_0pre2 (revision: 1.70) php_4_3_0pre1 (revision: 1.70) php_4_3_0_dev_zend2_alpha3 (revision: 1.70) [...shortened for brevity...] What's wrong? How does this magic MFH (merge from head?) work? I mean, I see it all the time, and have been reading http://www.cvshome.org/docs/manual/cvs_5.html#SEC54 for a while now, but don't seem to get what I have to do to make the PHP_4_3 branch contain the contents of HEAD (1.74). I know you're not here to support CVS lamers... maybe you can give me a hint, anyway? On Sat, 7 Dec 2002, Timm Friebe wrote: thekid Sat Dec 7 14:49:31 2002 EDT Modified files: /php4/ext/sybase_ctphp_sybase_ct.c Log: - Fixed three memory leaks - Fixed segfault with sybase_unbuffered_query() and unfetched resultsets [...] -- Timm Friebe [EMAIL PROTECTED] -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
MFH?? --Jani On Sat, 7 Dec 2002, Timm Friebe wrote: thekid Sat Dec 7 14:49:31 2002 EDT Modified files: /php4/ext/sybase_ctphp_sybase_ct.c Log: - Fixed three memory leaks - Fixed segfault with sybase_unbuffered_query() and unfetched resultsets Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.73 php4/ext/sybase_ct/php_sybase_ct.c:1.74 --- php4/ext/sybase_ct/php_sybase_ct.c:1.73Tue Nov 12 17:59:11 2002 +++ php4/ext/sybase_ct/php_sybase_ct.c Sat Dec 7 14:49:31 2002 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_sybase_ct.c,v 1.73 2002/11/12 22:59:11 edink Exp $ */ +/* $Id: php_sybase_ct.c,v 1.74 2002/12/07 19:49:31 thekid Exp $ */ #ifdef HAVE_CONFIG_H @@ -408,7 +408,7 @@ { efree(SybCtG(appname)); if (SybCtG(callback_name)) { - zval_dtor(SybCtG(callback_name)); + zval_ptr_dtor(SybCtG(callback_name)); SybCtG(callback_name)= NULL; } STR_FREE(SybCtG(server_message)); @@ -1261,7 +1261,7 @@ /* Check to see if a previous sybase_unbuffered_query has read all rows */ if (sybase_ptr-active_result_index) { - zval *tmp; + zval *tmp = NULL; php_error_docref(NULL TSRMLS_CC, E_NOTICE, Sybase: Called %s() without first fetching all rows from a previous unbuffered query, get_active_function_name(TSRMLS_C)); @@ -1275,10 +1275,20 @@ Z_TYPE_P(tmp)= IS_RESOURCE; INIT_PZVAL(tmp); ZEND_FETCH_RESOURCE(result, sybase_result *, tmp, -1, Sybase result, le_result); + + /* Causes the following segfault: + Program received signal SIGSEGV, Segmentation fault. + 0x8144380 in _efree (ptr=0x81fe024, __zend_filename=0x81841a0 php4/ext/sybase_ct/php_sybase_ct.c, + __zend_lineno=946, __zend_orig_filename=0x0, __zend_orig_lineno=0) at php4/Zend/zend_alloc.c:229 + php4/Zend/zend_alloc.c:229:7284:beg:0x8144380 + */ + #if O_TIMM if (result) { php_sybase_finish_results(result); } - zval_dtor(tmp); + #endif + + zval_ptr_dtor(tmp); zend_list_delete(sybase_ptr-active_result_index); sybase_ptr-active_result_index= 0; } @@ -1630,8 +1640,8 @@ } if (numerics) { zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) tmp, sizeof(zval *), NULL); + tmp-refcount++; } - tmp-refcount++; if (zend_hash_exists(Z_ARRVAL_P(return_value), result-fields[i].name, strlen(result-fields[i].name)+1)) { snprintf(name, 32, %s%d, result-fields[i].name, j); @@ -2057,8 +2067,6 @@ efree(params); RETURN_FALSE; } - - MAKE_STD_ZVAL(SybCtG(callback_name)); ALLOC_ZVAL(SybCtG(callback_name)); *SybCtG(callback_name) = **params[0]; -- - For Sale! - -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
thekid Sat Dec 7 14:49:31 2002 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c Log: - Fixed three memory leaks - Fixed segfault with sybase_unbuffered_query() and unfetched resultsets Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.73 php4/ext/sybase_ct/php_sybase_ct.c:1.74 --- php4/ext/sybase_ct/php_sybase_ct.c:1.73 Tue Nov 12 17:59:11 2002 +++ php4/ext/sybase_ct/php_sybase_ct.c Sat Dec 7 14:49:31 2002 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_sybase_ct.c,v 1.73 2002/11/12 22:59:11 edink Exp $ */ +/* $Id: php_sybase_ct.c,v 1.74 2002/12/07 19:49:31 thekid Exp $ */ #ifdef HAVE_CONFIG_H @@ -408,7 +408,7 @@ { efree(SybCtG(appname)); if (SybCtG(callback_name)) { - zval_dtor(SybCtG(callback_name)); + zval_ptr_dtor(SybCtG(callback_name)); SybCtG(callback_name)= NULL; } STR_FREE(SybCtG(server_message)); @@ -1261,7 +1261,7 @@ /* Check to see if a previous sybase_unbuffered_query has read all rows */ if (sybase_ptr-active_result_index) { - zval *tmp; + zval *tmp = NULL; php_error_docref(NULL TSRMLS_CC, E_NOTICE, Sybase: Called %s() without first fetching all rows from a previous unbuffered query, get_active_function_name(TSRMLS_C)); @@ -1275,10 +1275,20 @@ Z_TYPE_P(tmp)= IS_RESOURCE; INIT_PZVAL(tmp); ZEND_FETCH_RESOURCE(result, sybase_result *, tmp, -1, Sybase result, le_result); + + /* Causes the following segfault: + Program received signal SIGSEGV, Segmentation fault. + 0x8144380 in _efree (ptr=0x81fe024, __zend_filename=0x81841a0 +php4/ext/sybase_ct/php_sybase_ct.c, + __zend_lineno=946, __zend_orig_filename=0x0, __zend_orig_lineno=0) +at php4/Zend/zend_alloc.c:229 + php4/Zend/zend_alloc.c:229:7284:beg:0x8144380 + */ + #if O_TIMM if (result) { php_sybase_finish_results(result); } - zval_dtor(tmp); + #endif + + zval_ptr_dtor(tmp); zend_list_delete(sybase_ptr-active_result_index); sybase_ptr-active_result_index= 0; } @@ -1630,8 +1640,8 @@ } if (numerics) { zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) tmp, sizeof(zval *), NULL); + tmp-refcount++; } - tmp-refcount++; if (zend_hash_exists(Z_ARRVAL_P(return_value), result-fields[i].name, strlen(result-fields[i].name)+1)) { snprintf(name, 32, %s%d, result-fields[i].name, j); @@ -2057,8 +2067,6 @@ efree(params); RETURN_FALSE; } - - MAKE_STD_ZVAL(SybCtG(callback_name)); ALLOC_ZVAL(SybCtG(callback_name)); *SybCtG(callback_name) = **params[0]; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c
edink Tue Nov 12 17:59:14 2002 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c Log: Fixed ZTS build and removed an unused variable. Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.72 php4/ext/sybase_ct/php_sybase_ct.c:1.73 --- php4/ext/sybase_ct/php_sybase_ct.c:1.72 Tue Nov 12 08:13:12 2002 +++ php4/ext/sybase_ct/php_sybase_ct.c Tue Nov 12 17:59:11 2002 -18,7 +18,7 +--+ */ -/* $Id: php_sybase_ct.c,v 1.72 2002/11/12 13:13:12 thekid Exp $ */ +/* $Id: php_sybase_ct.c,v 1.73 2002/11/12 22:59:11 edink Exp $ */ #ifdef HAVE_CONFIG_H -307,6 +307,7 static void php_sybase_init_globals(zend_sybase_globals *sybase_globals) { long timeout; + TSRMLS_FETCH(); if (cs_ctx_alloc(CTLIB_VERSION, sybase_globals-context)!=CS_SUCCEED || ct_init(sybase_globals-context, CTLIB_VERSION)!=CS_SUCCEED) { return; -940,6 +941,7 int i; CS_RETCODE retcode; CS_INT restype; + TSRMLS_FETCH(); efree(result-datafmt); efree(result-lengths); -2025,7 +2027,6 PHP_FUNCTION(sybase_set_message_handler) { zval ***params; - zval *retval_ptr; char *name; int argc = ZEND_NUM_ARGS(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php4 /ext/sybase_ct php_sybase_ct.c php_sybase_ct.h
thekid Tue Nov 5 03:29:57 2002 EDT Modified files: /php4/ext/sybase_ct php_sybase_ct.c php_sybase_ct.h Log: @- Implemented features/changes requested in Bug #16960 (Timm): @ . Added a new function sybase_unbuffered_query() @ . Added a new function sybase_fetch_assoc() @ . Added sybase_set_message_handler() which enables users to handle @server messages in a callback function @ . Added an ini entry for deadlock retries - retrying deadlocks @can cause transaction state to break (sybct.deadlock_retry_count, @defaults to -1 forever). @ . Fixed sybase_fetch_object() not to return objects with numeric @members @ . Fixed issues with identical fieldnames @ . Made sybase_fetch_*() functions return correct datatypes @ . Made phpinfo() section more verbose @ . Made sybase_query() error messages more verbose Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.70 php4/ext/sybase_ct/php_sybase_ct.c:1.71 --- php4/ext/sybase_ct/php_sybase_ct.c:1.70 Tue Mar 12 15:18:01 2002 +++ php4/ext/sybase_ct/php_sybase_ct.c Tue Nov 5 03:29:57 2002 @@ -14,10 +14,11 @@ +--+ | Authors: Zeev Suraski [EMAIL PROTECTED]| | Tom May [EMAIL PROTECTED]| + | Timm Friebe [EMAIL PROTECTED] | +--+ */ -/* $Id: php_sybase_ct.c,v 1.70 2002/03/12 20:18:01 andi Exp $ */ +/* $Id: php_sybase_ct.c,v 1.71 2002/11/05 08:29:57 thekid Exp $ */ #ifdef HAVE_CONFIG_H @@ -42,32 +43,38 @@ PHP_FE(sybase_close,NULL) PHP_FE(sybase_select_db,NULL) PHP_FE(sybase_query,NULL) + PHP_FE(sybase_unbuffered_query, NULL) PHP_FE(sybase_free_result, NULL) PHP_FE(sybase_get_last_message, NULL) PHP_FE(sybase_num_rows, NULL) PHP_FE(sybase_num_fields, NULL) PHP_FE(sybase_fetch_row,NULL) PHP_FE(sybase_fetch_array, NULL) + PHP_FE(sybase_fetch_assoc, NULL) PHP_FE(sybase_fetch_object, NULL) PHP_FE(sybase_data_seek,NULL) PHP_FE(sybase_fetch_field, NULL) - PHP_FE(sybase_field_seek, NULL) + PHP_FE(sybase_field_seek, NULL) PHP_FE(sybase_result, NULL) PHP_FE(sybase_affected_rows,NULL) PHP_FE(sybase_min_client_severity, NULL) PHP_FE(sybase_min_server_severity, NULL) + PHP_FE(sybase_set_message_handler, NULL) + PHP_FE(sybase_deadlock_retry_count, NULL) PHP_FALIAS(mssql_connect, sybase_connect, NULL) PHP_FALIAS(mssql_pconnect, sybase_pconnect, NULL) PHP_FALIAS(mssql_close, sybase_close, NULL) PHP_FALIAS(mssql_select_db, sybase_select_db, NULL) PHP_FALIAS(mssql_query, sybase_query, NULL) + PHP_FALIAS(mssql_unbuffered_query, sybase_unbuffered_query,NULL) PHP_FALIAS(mssql_free_result, sybase_free_result, NULL) PHP_FALIAS(mssql_get_last_message, sybase_get_last_message,NULL) PHP_FALIAS(mssql_num_rows, sybase_num_rows, NULL) PHP_FALIAS(mssql_num_fields,sybase_num_fields, NULL) PHP_FALIAS(mssql_fetch_row, sybase_fetch_row, NULL) PHP_FALIAS(mssql_fetch_array, sybase_fetch_array, NULL) + PHP_FALIAS(mssql_fetch_assoc, sybase_fetch_assoc, NULL) PHP_FALIAS(mssql_fetch_object, sybase_fetch_object,NULL) PHP_FALIAS(mssql_data_seek, sybase_data_seek, NULL) PHP_FALIAS(mssql_fetch_field, sybase_fetch_field, NULL) @@ -76,6 +83,8 @@ PHP_FALIAS(mssql_affected_rows, sybase_affected_rows, NULL) PHP_FALIAS(mssql_min_client_severity, sybase_min_client_severity, NULL) PHP_FALIAS(mssql_min_server_severity, sybase_min_server_severity, NULL) + PHP_FALIAS(mssql_set_message_handler, sybase_set_message_handler, NULL) + PHP_FALIAS(mssql_deadlock_retry_count, sybase_deadlock_retry_count, NULL) {NULL, NULL, NULL} }; @@ -114,9 +123,9 @@ int i, j; if