[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysqlnd/ mysqlnd_debug.c
pajoye Mon, 15 Nov 2010 23:46:21 + Revision: http://svn.php.net/viewvc?view=revisionrevision=305389 Log: - fix build Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-11-15 23:26:25 UTC (rev 305388) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-11-15 23:46:21 UTC (rev 305389) @@ -497,20 +497,20 @@ min_in_calls=%5llu max_in_calls=%7llu avg_in_calls=%7llu min_total=%5llu max_total=%7llu avg_total=%7llu ,string_key - ,(unsigned long long) f_profile-calls - ,(unsigned long long) f_profile-own_underporm_calls - ,(unsigned long long) f_profile-in_calls_underporm_calls - ,(unsigned long long) f_profile-total_underporm_calls + ,(uint64_t) f_profile-calls + ,(uint64_t) f_profile-own_underporm_calls + ,(uint64_t) f_profile-in_calls_underporm_calls + ,(uint64_t) f_profile-total_underporm_calls - ,(unsigned long long) f_profile-min_own - ,(unsigned long long) f_profile-max_own - ,(unsigned long long) f_profile-avg_own - ,(unsigned long long) f_profile-min_in_calls - ,(unsigned long long) f_profile-max_in_calls - ,(unsigned long long) f_profile-avg_in_calls - ,(unsigned long long) f_profile-min_total - ,(unsigned long long) f_profile-max_total - ,(unsigned long long) f_profile-avg_total + ,(uint64_t) f_profile-min_own + ,(uint64_t) f_profile-max_own + ,(uint64_t) f_profile-avg_own + ,(uint64_t) f_profile-min_in_calls + ,(uint64_t) f_profile-max_in_calls + ,(uint64_t) f_profile-avg_in_calls + ,(uint64_t) f_profile-min_total + ,(uint64_t) f_profile-max_total + ,(uint64_t) f_profile-avg_total ); zend_hash_move_forward_ex(self-function_profiles, pos_values); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h branches/PHP_5_3/ext/mysqlnd/mysqlnd_priv.h trunk/ext/mysqlnd/mysqlnd_debug.c tru
andrey Fri, 29 Oct 2010 15:02:39 + Revision: http://svn.php.net/viewvc?view=revisionrevision=304984 Log: - More features for the profiling, create aggregates and dump them on file close. - Also add a trace modifier to switch on and off the profiling. - With additional compiler switch the profiling can be completely omitted, of course it makes sense only when --enable-debug. Because otherwise there is no tracing, thus no profiling. - Added a fix for Windows for handling trace files on different devices (special handing of ':' ) Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_priv.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_priv.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-10-29 14:36:28 UTC (rev 304983) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-10-29 15:02:39 UTC (rev 304984) @@ -36,16 +36,6 @@ #define MYSQLND_ZTS(self) #endif -#define MYSQLND_DEBUG_DUMP_TIME1 -#define MYSQLND_DEBUG_DUMP_TRACE 2 -#define MYSQLND_DEBUG_DUMP_PID4 -#define MYSQLND_DEBUG_DUMP_LINE8 -#define MYSQLND_DEBUG_DUMP_FILE16 -#define MYSQLND_DEBUG_DUMP_LEVEL 32 -#define MYSQLND_DEBUG_APPEND64 -#define MYSQLND_DEBUG_FLUSH 128 -#define MYSQLND_DEBUG_TRACE_MEMORY_CALLS 256 - static const char mysqlnd_emalloc_name[] = _mysqlnd_emalloc; static const char mysqlnd_pemalloc_name[] = _mysqlnd_pemalloc; static const char mysqlnd_ecalloc_name[] = _mysqlnd_ecalloc; @@ -81,6 +71,7 @@ NULL /* must be always last */ }; + /* {{{ mysqlnd_debug::open */ static enum_func_status MYSQLND_METHOD(mysqlnd_debug, open)(MYSQLND_DEBUG * self, zend_bool reopen) @@ -300,13 +291,12 @@ /* FALSE - The DBG_ calls won't be traced, TRUE - will be traced */ -/* {{{ mysqlnd_res_meta::func_enter */ +/* {{{ mysqlnd_debug::func_enter */ static zend_bool MYSQLND_METHOD(mysqlnd_debug, func_enter)(MYSQLND_DEBUG * self, unsigned int line, const char * const file, const char * const func_name, unsigned int func_name_len) { - uint64_t some_time = 0; if ((self-flags MYSQLND_DEBUG_DUMP_TRACE) == 0 || self-file_name == NULL) { return FALSE; } @@ -319,7 +309,12 @@ while (*p) { if (*p == func_name) { zend_stack_push(self-call_stack, , sizeof()); -zend_stack_push(self-call_time_stack, some_time, sizeof(some_time)); +#ifndef MYSQLND_PROFILING_DISABLED +if (self-flags MYSQLND_DEBUG_PROFILE_CALLS) { + uint64_t some_time = 0; + zend_stack_push(self-call_time_stack, some_time, sizeof(some_time)); +} +#endif return FALSE; } p++; @@ -327,7 +322,12 @@ } zend_stack_push(self-call_stack, func_name, func_name_len + 1); - zend_stack_push(self-call_time_stack, some_time, sizeof(some_time)); +#ifndef MYSQLND_PROFILING_DISABLED + if (self-flags MYSQLND_DEBUG_PROFILE_CALLS) { + uint64_t some_time = 0; + zend_stack_push(self-call_time_stack, some_time, sizeof(some_time)); + } +#endif if (zend_hash_num_elements(self-not_filtered_functions) 0 == zend_hash_exists(self-not_filtered_functions, func_name, strlen(func_name) + 1)) @@ -340,14 +340,33 @@ } /* }}} */ +#ifndef MYSQLND_PROFILING_DISABLED +struct st_mysqlnd_dbg_function_profile { + uint64_t calls; + uint64_t min_own; + uint64_t max_own; + uint64_t avg_own; + uint64_t own_underporm_calls; + uint64_t min_in_calls; + uint64_t max_in_calls; + uint64_t avg_in_calls; + uint64_t in_calls_underporm_calls; + uint64_t min_total; + uint64_t max_total; + uint64_t avg_total; + uint64_t total_underporm_calls; +}; +#define PROFILE_UNDERPERFORM_THRESHOLD 10 +#endif -/* {{{ mysqlnd_res_meta::func_leave */ +/* {{{ mysqlnd_debug::func_leave */ static enum_func_status MYSQLND_METHOD(mysqlnd_debug, func_leave)(MYSQLND_DEBUG * self, unsigned int line, const char * const file, uint64_t call_time) { char *func_name; uint64_t * parent_non_own_time_ptr = NULL, * mine_non_own_time_ptr = NULL; - uint64_t mine_non_own_time; + uint64_t mine_non_own_time = 0; + zend_bool profile_calls = self-flags MYSQLND_DEBUG_PROFILE_CALLS? TRUE:FALSE; if ((self-flags MYSQLND_DEBUG_DUMP_TRACE) == 0 || self-file_name == NULL) { return PASS; @@ -358,47 +377,150 @@ zend_stack_top(self-call_stack, (void **)func_name); +#ifndef MYSQLND_PROFILING_DISABLED + if (profile_calls) { + zend_stack_top(self-call_time_stack, (void **)mine_non_own_time_ptr); + mine_non_own_time = *mine_non_own_time_ptr; + zend_stack_del_top(self-call_time_stack); /* callee - removing ourselves */ + } +#endif - zend_stack_top(self-call_time_stack, (void **)mine_non_own_time_ptr); -
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.h
andrey Mon, 25 Oct 2010 13:44:11 + Revision: http://svn.php.net/viewvc?view=revisionrevision=304846 Log: rename and remove usage of inttypes.h, not needed Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-10-25 13:43:03 UTC (rev 304845) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-10-25 13:44:11 UTC (rev 304846) @@ -27,7 +27,6 @@ #include mysqlnd_wireprotocol.h #include mysqlnd_statistics.h #include zend_builtin_functions.h -#include inttypes.h static const char * const mysqlnd_debug_default_trace_file = /tmp/mysqlnd.trace; Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-10-25 13:43:03 UTC (rev 304845) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-10-25 13:44:11 UTC (rev 304846) @@ -66,9 +66,9 @@ #if defined(__GNUC__) || (defined(_MSC_VER) (_MSC_VER = 1400)) #define DBG_PROFILE_TIMEVAL_TO_DOUBLE(tp) ((tp.tv_sec * 100LL)+ tp.tv_usec) -#define DBG_PROFILE_DECLARE_TIMEVARS struct timeval __tp = {0}; uint64_t __start = 0; /* initialization is needed */ -#define DBG_PROFILE_START_TIME() gettimeofday(__tp, NULL); __start = DBG_PROFILE_TIMEVAL_TO_DOUBLE(__tp); -#define DBG_PROFILE_END_TIME(duration) gettimeofday(__tp, NULL); (duration) = (DBG_PROFILE_TIMEVAL_TO_DOUBLE(__tp) - __start); +#define DBG_PROFILE_DECLARE_TIMEVARS struct timeval __dbg_prof_tp = {0}; uint64_t __dbg_prof_start = 0; /* initialization is needed */ +#define DBG_PROFILE_START_TIME() gettimeofday(__dbg_prof_tp, NULL); __dbg_prof_start = DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp); +#define DBG_PROFILE_END_TIME(duration) gettimeofday(__dbg_prof_tp, NULL); (duration) = (DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp) - __dbg_prof_start); #define DBG_INF_EX(dbg_obj, msg) do { if (dbg_skip_trace == FALSE) (dbg_obj)-m-log((dbg_obj), __LINE__, __FILE__, -1, info : , (msg)); } while (0) #define DBG_ERR_EX(dbg_obj, msg) do { if (dbg_skip_trace == FALSE) (dbg_obj)-m-log((dbg_obj), __LINE__, __FILE__, -1, error: , (msg)); } while (0) Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-10-25 13:43:03 UTC (rev 304845) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-10-25 13:44:11 UTC (rev 304846) @@ -27,7 +27,6 @@ #include mysqlnd_wireprotocol.h #include mysqlnd_statistics.h #include zend_builtin_functions.h -#include inttypes.h static const char * const mysqlnd_debug_default_trace_file = /tmp/mysqlnd.trace; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h 2010-10-25 13:43:03 UTC (rev 304845) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h 2010-10-25 13:44:11 UTC (rev 304846) @@ -66,9 +66,9 @@ #if defined(__GNUC__) || (defined(_MSC_VER) (_MSC_VER = 1400)) #define DBG_PROFILE_TIMEVAL_TO_DOUBLE(tp) ((tp.tv_sec * 100LL)+ tp.tv_usec) -#define DBG_PROFILE_DECLARE_TIMEVARS struct timeval __tp = {0}; uint64_t __start = 0; /* initialization is needed */ -#define DBG_PROFILE_START_TIME() gettimeofday(__tp, NULL); __start = DBG_PROFILE_TIMEVAL_TO_DOUBLE(__tp); -#define DBG_PROFILE_END_TIME(duration) gettimeofday(__tp, NULL); (duration) = (DBG_PROFILE_TIMEVAL_TO_DOUBLE(__tp) - __start); +#define DBG_PROFILE_DECLARE_TIMEVARS struct timeval __dbg_prof_tp = {0}; uint64_t __dbg_prof_start = 0; /* initialization is needed */ +#define DBG_PROFILE_START_TIME() gettimeofday(__dbg_prof_tp, NULL); __dbg_prof_start = DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp); +#define DBG_PROFILE_END_TIME(duration) gettimeofday(__dbg_prof_tp, NULL); (duration) = (DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp) - __dbg_prof_start); #define DBG_INF_EX(dbg_obj, msg) do { if (dbg_skip_trace == FALSE) (dbg_obj)-m-log((dbg_obj), __LINE__, __FILE__, -1, info : , (msg)); } while (0) #define DBG_ERR_EX(dbg_obj, msg) do { if (dbg_skip_trace == FALSE) (dbg_obj)-m-log((dbg_obj), __LINE__, __FILE__, -1, error: , (msg)); } while (0) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Wed, 22 Sep 2010 14:54:43 + Revision: http://svn.php.net/viewvc?view=revisionrevision=303678 Log: small macro fix Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-09-22 14:44:13 UTC (rev 303677) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-09-22 14:54:43 UTC (rev 303678) @@ -1092,8 +1092,10 @@ } /* }}} */ -#if MYSQLND_DEBUG_MEMORY +#define MYSQLND_DEBUG_MEMORY 1 +#if MYSQLND_DEBUG_MEMORY == 0 + /* {{{ mysqlnd_zend_mm_emalloc */ static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D) { @@ -1208,8 +1210,6 @@ #endif -#define MYSQLND_DEBUG_MEMORY 1 - PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = { #if MYSQLND_DEBUG_MEMORY Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-09-22 14:44:13 UTC (rev 303677) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-09-22 14:54:43 UTC (rev 303678) @@ -1092,8 +1092,10 @@ } /* }}} */ -#if MYSQLND_DEBUG_MEMORY +#define MYSQLND_DEBUG_MEMORY 1 +#if MYSQLND_DEBUG_MEMORY == 0 + /* {{{ mysqlnd_zend_mm_emalloc */ static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D) { @@ -1208,8 +1210,6 @@ #endif -#define MYSQLND_DEBUG_MEMORY 1 - PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = { #if MYSQLND_DEBUG_MEMORY -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Thu, 27 May 2010 12:00:48 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299843 Log: Fix crashes in the allocator in case of OOM. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-27 10:45:39 UTC (rev 299842) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-27 12:00:48 UTC (rev 299843) @@ -932,7 +932,7 @@ #endif DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_MALLOC_COUNT, 1, STAT_MEM_MALLOC_AMOUNT, size); } @@ -963,7 +963,7 @@ #endif DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_CALLOC_COUNT, 1, STAT_MEM_CALLOC_AMOUNT, size); } @@ -997,7 +997,7 @@ DBG_INF_FMT(new_ptr=%p, (char*)ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = new_size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_REALLOC_COUNT, 1, STAT_MEM_REALLOC_AMOUNT, new_size); } @@ -1082,7 +1082,7 @@ ret = pemalloc(tmp_str.len + sizeof(size_t), persistent); memcpy(FAKE_PTR(ret), tmp_str.c, tmp_str.len); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = tmp_str.len; MYSQLND_INC_GLOBAL_STATISTIC(persistent? STAT_MEM_STRDUP_COUNT : STAT_MEM_ESTRDUP_COUNT); } Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-27 10:45:39 UTC (rev 299842) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-27 12:00:48 UTC (rev 299843) @@ -932,7 +932,7 @@ #endif DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_MALLOC_COUNT, 1, STAT_MEM_MALLOC_AMOUNT, size); } @@ -963,7 +963,7 @@ #endif DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_CALLOC_COUNT, 1, STAT_MEM_CALLOC_AMOUNT, size); } @@ -997,7 +997,7 @@ DBG_INF_FMT(new_ptr=%p, (char*)ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = new_size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_REALLOC_COUNT, 1, STAT_MEM_REALLOC_AMOUNT, new_size); } @@ -1082,7 +1082,7 @@ ret = pemalloc(tmp_str.len + sizeof(size_t), persistent); memcpy(FAKE_PTR(ret), tmp_str.c, tmp_str.len); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = tmp_str.len; MYSQLND_INC_GLOBAL_STATISTIC(persistent? STAT_MEM_STRDUP_COUNT : STAT_MEM_ESTRDUP_COUNT); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.h
andrey Tue, 25 May 2010 21:54:21 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299755 Log: Fix shared build Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-25 20:16:14 UTC (rev 299754) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-25 21:54:21 UTC (rev 299755) @@ -1210,7 +1210,7 @@ #define MYSQLND_DEBUG_MEMORY 1 -struct st_mysqlnd_allocator_methods mysqlnd_allocator = +PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = { #if MYSQLND_DEBUG_MEMORY _mysqlnd_emalloc, Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-05-25 20:16:14 UTC (rev 299754) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-05-25 21:54:21 UTC (rev 299755) @@ -131,7 +131,7 @@ char * (*m_pestrdup)(const char * const ptr, zend_bool persistent MYSQLND_MEM_D); }; -extern struct st_mysqlnd_allocator_methods mysqlnd_allocator; +PHPAPI extern struct st_mysqlnd_allocator_methods mysqlnd_allocator; PHPAPI void * _mysqlnd_emalloc(size_t size MYSQLND_MEM_D); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-25 20:16:14 UTC (rev 299754) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-25 21:54:21 UTC (rev 299755) @@ -1210,7 +1210,7 @@ #define MYSQLND_DEBUG_MEMORY 1 -struct st_mysqlnd_allocator_methods mysqlnd_allocator = +PHPAPI struct st_mysqlnd_allocator_methods mysqlnd_allocator = { #if MYSQLND_DEBUG_MEMORY _mysqlnd_emalloc, Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h 2010-05-25 20:16:14 UTC (rev 299754) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h 2010-05-25 21:54:21 UTC (rev 299755) @@ -131,7 +131,7 @@ char * (*m_pestrdup)(const char * const ptr, zend_bool persistent MYSQLND_MEM_D); }; -extern struct st_mysqlnd_allocator_methods mysqlnd_allocator; +PHPAPI extern struct st_mysqlnd_allocator_methods mysqlnd_allocator; PHPAPI void * _mysqlnd_emalloc(size_t size MYSQLND_MEM_D); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Fri, 21 May 2010 13:06:52 + Revision: http://svn.php.net/viewvc?view=revisionrevision=299578 Log: When OOM hits the wire, don't crash. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-21 12:16:07 UTC (rev 299577) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-21 13:06:52 UTC (rev 299578) @@ -1,4 +1,4 @@ -;/* +/* +--+ | PHP Version 5| +--+ @@ -679,7 +679,7 @@ DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_EMALLOC_COUNT, 1, STAT_MEM_EMALLOC_AMOUNT, size); } @@ -711,7 +711,7 @@ DBG_INF_FMT(size=%lu ptr=%p persistent=%d, size, ret, persistent); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_MALLOC_COUNT:STAT_MEM_EMALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_MALLOC_AMOUNT:STAT_MEM_EMALLOC_AMOUNT; *(size_t *) ret = size; @@ -747,7 +747,7 @@ DBG_INF_FMT(after : %lu, zend_memory_usage(FALSE TSRMLS_CC)); DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_ECALLOC_COUNT, 1, STAT_MEM_ECALLOC_AMOUNT, size); } @@ -779,7 +779,7 @@ DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_CALLOC_COUNT:STAT_MEM_ECALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_CALLOC_AMOUNT:STAT_MEM_ECALLOC_AMOUNT; *(size_t *) ret = size; @@ -815,7 +815,7 @@ #endif DBG_INF_FMT(new_ptr=%p, (char*)ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = new_size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_EREALLOC_COUNT, 1, STAT_MEM_EREALLOC_AMOUNT, new_size); } @@ -849,7 +849,7 @@ DBG_INF_FMT(new_ptr=%p, (char*)ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_REALLOC_COUNT:STAT_MEM_EREALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_REALLOC_AMOUNT:STAT_MEM_EREALLOC_AMOUNT; *(size_t *) ret = new_size; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-21 12:16:07 UTC (rev 299577) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-21 13:06:52 UTC (rev 299578) @@ -1,4 +1,4 @@ -;/* +/* +--+ | PHP Version 5| +--+ @@ -679,7 +679,7 @@ DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_EMALLOC_COUNT, 1, STAT_MEM_EMALLOC_AMOUNT, size); } @@ -711,7 +711,7 @@ DBG_INF_FMT(size=%lu ptr=%p persistent=%d, size, ret, persistent); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_MALLOC_COUNT:STAT_MEM_EMALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_MALLOC_AMOUNT:STAT_MEM_EMALLOC_AMOUNT; *(size_t *) ret = size; @@ -747,7 +747,7 @@ DBG_INF_FMT(after : %lu, zend_memory_usage(FALSE TSRMLS_CC)); DBG_INF_FMT(size=%lu ptr=%p, size, ret); - if (collect_memory_statistics) { + if (ret collect_memory_statistics) { *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(STAT_MEM_ECALLOC_COUNT, 1, STAT_MEM_ECALLOC_AMOUNT, size); } @@ -779,7 +779,7 @@
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Mon, 03 May 2010 13:51:30 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298902 Log: Fix compiler warnings - unused functions Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-03 13:45:58 UTC (rev 298901) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-05-03 13:51:30 UTC (rev 298902) @@ -28,60 +28,6 @@ #include mysqlnd_statistics.h #include zend_builtin_functions.h -static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQLND_MEM_D); -static void mysqlnd_zend_mm_efree(void * ptr MYSQLND_MEM_D); -static void mysqlnd_zend_mm_pefree(void * ptr, zend_bool persistent MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_malloc(size_t size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_realloc(void * ptr, size_t new_size MYSQLND_MEM_D); -static void mysqlnd_zend_mm_free(void * ptr MYSQLND_MEM_D); -static char * mysqlnd_zend_mm_pestrndup(const char * const ptr, size_t length, zend_bool persistent MYSQLND_MEM_D); -static char * mysqlnd_zend_mm_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_MEM_D); - -#define MYSQLND_DEBUG_MEMORY 1 - -struct st_mysqlnd_allocator_methods mysqlnd_allocator = -{ -#if MYSQLND_DEBUG_MEMORY - _mysqlnd_emalloc, - _mysqlnd_pemalloc, - _mysqlnd_ecalloc, - _mysqlnd_pecalloc, - _mysqlnd_erealloc, - _mysqlnd_perealloc, - _mysqlnd_efree, - _mysqlnd_pefree, - _mysqlnd_malloc, - _mysqlnd_calloc, - _mysqlnd_realloc, - _mysqlnd_free, - _mysqlnd_pestrndup, - _mysqlnd_pestrdup -#else - mysqlnd_zend_mm_emalloc, - mysqlnd_zend_mm_pemalloc, - mysqlnd_zend_mm_ecalloc, - mysqlnd_zend_mm_pecalloc, - mysqlnd_zend_mm_erealloc, - mysqlnd_zend_mm_perealloc, - mysqlnd_zend_mm_efree, - mysqlnd_zend_mm_pefree, - mysqlnd_zend_mm_malloc, - mysqlnd_zend_mm_calloc, - mysqlnd_zend_mm_realloc, - mysqlnd_zend_mm_free, - mysqlnd_zend_mm_pestrndup, - mysqlnd_zend_mm_pestrdup -#endif -}; - - - static const char * const mysqlnd_debug_default_trace_file = /tmp/mysqlnd.trace; #ifdef ZTS @@ -1046,6 +992,7 @@ } /* }}} */ +#if MYSQLND_DEBUG_MEMORY /* {{{ mysqlnd_zend_mm_emalloc */ static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D) @@ -1158,8 +1105,48 @@ } /* }}} */ +#endif +#define MYSQLND_DEBUG_MEMORY 1 + +struct st_mysqlnd_allocator_methods mysqlnd_allocator = +{ +#if MYSQLND_DEBUG_MEMORY + _mysqlnd_emalloc, + _mysqlnd_pemalloc, + _mysqlnd_ecalloc, + _mysqlnd_pecalloc, + _mysqlnd_erealloc, + _mysqlnd_perealloc, + _mysqlnd_efree, + _mysqlnd_pefree, + _mysqlnd_malloc, + _mysqlnd_calloc, + _mysqlnd_realloc, + _mysqlnd_free, + _mysqlnd_pestrndup, + _mysqlnd_pestrdup +#else + mysqlnd_zend_mm_emalloc, + mysqlnd_zend_mm_pemalloc, + mysqlnd_zend_mm_ecalloc, + mysqlnd_zend_mm_pecalloc, + mysqlnd_zend_mm_erealloc, + mysqlnd_zend_mm_perealloc, + mysqlnd_zend_mm_efree, + mysqlnd_zend_mm_pefree, + mysqlnd_zend_mm_malloc, + mysqlnd_zend_mm_calloc, + mysqlnd_zend_mm_realloc, + mysqlnd_zend_mm_free, + mysqlnd_zend_mm_pestrndup, + mysqlnd_zend_mm_pestrdup +#endif +}; + + + /* Follows code borrowed from zend_builtin_functions.c because the functions there are static */ #if PHP_MAJOR_VERSION = 6 Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-03 13:45:58 UTC (rev 298901) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-05-03 13:51:30 UTC (rev 298902) @@ -28,60 +28,6 @@ #include mysqlnd_statistics.h #include zend_builtin_functions.h -static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D); -static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D); -static void *
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.h
andrey Thu, 22 Apr 2010 16:28:50 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298336 Log: Change the way the allocator is called - through an abstraction to give the possibility of pluggability. Thanks to the macros already used the changes are not pervasive. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-22 16:22:56 UTC (rev 298335) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-22 16:28:50 UTC (rev 298336) @@ -28,7 +28,60 @@ #include mysqlnd_statistics.h #include zend_builtin_functions.h +static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQLND_MEM_D); +static void mysqlnd_zend_mm_efree(void * ptr MYSQLND_MEM_D); +static void mysqlnd_zend_mm_pefree(void * ptr, zend_bool persistent MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_malloc(size_t size MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D); +static void * mysqlnd_zend_mm_realloc(void * ptr, size_t new_size MYSQLND_MEM_D); +static void mysqlnd_zend_mm_free(void * ptr MYSQLND_MEM_D); +static char * mysqlnd_zend_mm_pestrndup(const char * const ptr, size_t length, zend_bool persistent MYSQLND_MEM_D); +static char * mysqlnd_zend_mm_pestrdup(const char * const ptr, zend_bool persistent MYSQLND_MEM_D); +#define MYSQLND_DEBUG_MEMORY 1 + +struct st_mysqlnd_allocator_methods mysqlnd_allocator = +{ +#if MYSQLND_DEBUG_MEMORY + _mysqlnd_emalloc, + _mysqlnd_pemalloc, + _mysqlnd_ecalloc, + _mysqlnd_pecalloc, + _mysqlnd_erealloc, + _mysqlnd_perealloc, + _mysqlnd_efree, + _mysqlnd_pefree, + _mysqlnd_malloc, + _mysqlnd_calloc, + _mysqlnd_realloc, + _mysqlnd_free, + _mysqlnd_pestrndup, + _mysqlnd_pestrdup +#else + mysqlnd_zend_mm_emalloc, + mysqlnd_zend_mm_pemalloc, + mysqlnd_zend_mm_ecalloc, + mysqlnd_zend_mm_pecalloc, + mysqlnd_zend_mm_erealloc, + mysqlnd_zend_mm_perealloc, + mysqlnd_zend_mm_efree, + mysqlnd_zend_mm_pefree, + mysqlnd_zend_mm_malloc, + mysqlnd_zend_mm_calloc, + mysqlnd_zend_mm_realloc, + mysqlnd_zend_mm_free, + mysqlnd_zend_mm_pestrndup, + mysqlnd_zend_mm_pestrdup +#endif +}; + + + static const char * const mysqlnd_debug_default_trace_file = /tmp/mysqlnd.trace; #ifdef ZTS @@ -994,7 +1047,119 @@ /* }}} */ +/* {{{ mysqlnd_zend_mm_emalloc */ +static void * mysqlnd_zend_mm_emalloc(size_t size MYSQLND_MEM_D) +{ + return emalloc(size); +} +/* }}} */ + +/* {{{ mysqlnd_zend_mm_pemalloc */ +static void * mysqlnd_zend_mm_pemalloc(size_t size, zend_bool persistent MYSQLND_MEM_D) +{ + return pemalloc(size, persistent); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_ecalloc */ +static void * mysqlnd_zend_mm_ecalloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) +{ + return ecalloc(nmemb, size); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_pecalloc */ +static void * mysqlnd_zend_mm_pecalloc(unsigned int nmemb, size_t size, zend_bool persistent MYSQLND_MEM_D) +{ + return pecalloc(nmemb, size, persistent); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_erealloc */ +static void * mysqlnd_zend_mm_erealloc(void *ptr, size_t new_size MYSQLND_MEM_D) +{ + return erealloc(ptr, new_size); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_perealloc */ +static void * mysqlnd_zend_mm_perealloc(void *ptr, size_t new_size, zend_bool persistent MYSQLND_MEM_D) +{ + return perealloc(ptr, new_size, persistent); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_efree */ +static void mysqlnd_zend_mm_efree(void * ptr MYSQLND_MEM_D) +{ + efree(ptr); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_pefree */ +static void mysqlnd_zend_mm_pefree(void * ptr, zend_bool persistent MYSQLND_MEM_D) +{ + pefree(ptr, persistent); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_malloc */ +static void * mysqlnd_zend_mm_malloc(size_t size MYSQLND_MEM_D) +{ + return malloc(size); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_calloc */ +static void * mysqlnd_zend_mm_calloc(unsigned int nmemb, size_t size MYSQLND_MEM_D) +{ + return calloc(nmemb, size); +} +/* }}} */ + + +/* {{{ mysqlnd_zend_mm_realloc */ +static void * mysqlnd_zend_mm_realloc(void * ptr, size_t new_size MYSQLND_MEM_D) +{ + return realloc(ptr, new_size); +} +/* }}} */ + +
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
andrey Thu, 15 Apr 2010 15:53:58 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298045 Log: More int/uint comparison warning fixes Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-15 15:28:38 UTC (rev 298044) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-15 15:53:58 UTC (rev 298045) @@ -311,7 +311,7 @@ if ((self-flags MYSQLND_DEBUG_DUMP_TRACE) == 0 || self-file_name == NULL) { return FALSE; } - if (zend_stack_count(self-call_stack) = self-nest_level_limit) { + if ((uint) zend_stack_count(self-call_stack) = self-nest_level_limit) { return FALSE; } @@ -348,7 +348,7 @@ if ((self-flags MYSQLND_DEBUG_DUMP_TRACE) == 0 || self-file_name == NULL) { return PASS; } - if (zend_stack_count(self-call_stack) = self-nest_level_limit) { + if ((uint) zend_stack_count(self-call_stack) = self-nest_level_limit) { return PASS; } Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-15 15:28:38 UTC (rev 298044) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-15 15:53:58 UTC (rev 298045) @@ -338,7 +338,7 @@ /* pad2 */ p+= 13; - if (p - buf packet-header.size) { + if ((size_t) (p - buf) packet-header.size) { /* scramble_buf is split into two parts */ memcpy(packet-scramble_buf + SCRAMBLE_LENGTH_323, p, SCRAMBLE_LENGTH - SCRAMBLE_LENGTH_323); @@ -352,7 +352,7 @@ DBG_INF_FMT(server_capabilities=%d charset_no=%d server_status=%d, packet-server_capabilities, packet-charset_no, packet-server_status); - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(GREET packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, GREET packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -556,7 +556,7 @@ packet-affected_rows, packet-last_insert_id, packet-server_status, packet-warning_count); - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(OK packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, OK packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -631,7 +631,7 @@ packet-server_status = 0; } - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(EOF packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, EOF packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -795,7 +795,7 @@ /* Result set */ break; } - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(RSET_HEADER packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, RSET_HEADER packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -947,7 +947,7 @@ p += len; } - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(RSET field packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, Result set field packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -1639,7 +1639,7 @@ DBG_INF_FMT(Prepare packet read: stmt_id=%d fields=%d params=%d, packet-stmt_id, packet-field_count, packet-param_count); - if (p - begin packet-header.size) { + if ((size_t)(p - begin) packet-header.size) { DBG_ERR_FMT(PREPARE packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, PREPARE packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size); @@ -1700,7 +1700,7 @@ packet-error_info.sqlstate TSRMLS_CC); } - if (p - begin packet-header.size) { + if ((size_t) (p - begin) packet-header.size) { DBG_ERR_FMT(CHANGE_USER packet %d bytes shorter than expected, p - begin - packet-header.size); php_error_docref(NULL TSRMLS_CC, E_WARNING, CHANGE_USER packet MYSQLND_SZ_T_SPEC bytes shorter than expected, p - begin - packet-header.size);
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Tue, 06 Apr 2010 14:33:55 + Revision: http://svn.php.net/viewvc?view=revisionrevision=297584 Log: Stricly C Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-04-06 13:42:21 UTC (rev 297583) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-04-06 14:33:55 UTC (rev 297584) @@ -696,9 +696,9 @@ DBG_INF_FMT(size=%lu ptr=%p persistent=%d, size, ret, persistent); if (collect_memory_statistics) { - *(size_t *) ret = size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_MALLOC_COUNT:STAT_MEM_EMALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_MALLOC_AMOUNT:STAT_MEM_EMALLOC_AMOUNT; + *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, size); } @@ -741,9 +741,9 @@ DBG_INF_FMT(size=%lu ptr=%p, size, ret); if (collect_memory_statistics) { - *(size_t *) ret = size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_CALLOC_COUNT:STAT_MEM_ECALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_CALLOC_AMOUNT:STAT_MEM_ECALLOC_AMOUNT; + *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, size); } @@ -789,9 +789,9 @@ DBG_INF_FMT(new_ptr=%p, ret); if (collect_memory_statistics) { - *(size_t *) ret = new_size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_REALLOC_COUNT:STAT_MEM_EREALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_REALLOC_AMOUNT:STAT_MEM_EREALLOC_AMOUNT; + *(size_t *) ret = new_size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, new_size); } DBG_RETURN(FAKE_PTR(ret)); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-04-06 13:42:21 UTC (rev 297583) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-04-06 14:33:55 UTC (rev 297584) @@ -696,9 +696,9 @@ DBG_INF_FMT(size=%lu ptr=%p persistent=%d, size, ret, persistent); if (collect_memory_statistics) { - *(size_t *) ret = size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_MALLOC_COUNT:STAT_MEM_EMALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_MALLOC_AMOUNT:STAT_MEM_EMALLOC_AMOUNT; + *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, size); } @@ -741,9 +741,9 @@ DBG_INF_FMT(size=%lu ptr=%p, size, ret); if (collect_memory_statistics) { - *(size_t *) ret = size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_CALLOC_COUNT:STAT_MEM_ECALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_CALLOC_AMOUNT:STAT_MEM_ECALLOC_AMOUNT; + *(size_t *) ret = size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, size); } @@ -789,9 +789,9 @@ DBG_INF_FMT(new_ptr=%p, ret); if (collect_memory_statistics) { - *(size_t *) ret = new_size; enum mysqlnd_collected_stats s1 = persistent? STAT_MEM_REALLOC_COUNT:STAT_MEM_EREALLOC_COUNT; enum mysqlnd_collected_stats s2 = persistent? STAT_MEM_REALLOC_AMOUNT:STAT_MEM_EREALLOC_AMOUNT; + *(size_t *) ret = new_size; MYSQLND_INC_GLOBAL_STATISTIC_W_VALUE2(s1, 1, s2, new_size); } DBG_RETURN(FAKE_PTR(ret)); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_net.c
andrey Tue, 06 Apr 2010 18:14:23 + Revision: http://svn.php.net/viewvc?view=revisionrevision=297586 Log: Fix the Windows build (void* arithmetic) as well as --disable-zlib build. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-06 16:40:05 UTC (rev 297585) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-04-06 18:14:23 UTC (rev 297586) @@ -757,7 +757,7 @@ { void *ret; zend_bool collect_memory_statistics = MYSQLND_G(collect_memory_statistics); - size_t old_size = collect_memory_statistics ptr? *(size_t *) (ptr - sizeof(size_t)) : 0; + size_t old_size = collect_memory_statistics ptr? *(size_t *) (((char*)ptr) - sizeof(size_t)) : 0; DBG_ENTER(mysqlnd_erealloc_name); DBG_INF_FMT(file=%-15s line=%4d, strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno); DBG_INF_FMT(ptr=%p old_size=%lu, new_size=%lu, ptr, old_size, new_size); @@ -779,7 +779,7 @@ { void *ret; zend_bool collect_memory_statistics = MYSQLND_G(collect_memory_statistics); - size_t old_size = collect_memory_statistics ptr? *(size_t *) (ptr - sizeof(size_t)) : 0; + size_t old_size = collect_memory_statistics ptr? *(size_t *) (((char*)ptr) - sizeof(size_t)) : 0; DBG_ENTER(mysqlnd_perealloc_name); DBG_INF_FMT(file=%-15s line=%4d, strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno); DBG_INF_FMT(ptr=%p old_size=%lu new_size=%lu persist=%d, ptr, old_size, new_size, persistent); @@ -810,8 +810,8 @@ if (ptr) { if (collect_memory_statistics) { - free_amount = *(size_t *)(ptr - sizeof(size_t)); - DBG_INF_FMT(ptr=%p size=%u, ptr - sizeof(size_t), (unsigned int) free_amount); + free_amount = *(size_t *)(((char*)ptr) - sizeof(size_t)); + DBG_INF_FMT(ptr=%p size=%u, ((char*)ptr) - sizeof(size_t), (unsigned int) free_amount); } efree(REAL_PTR(ptr)); } @@ -835,8 +835,8 @@ if (ptr) { if (collect_memory_statistics) { - free_amount = *(size_t *)(ptr - sizeof(size_t)); - DBG_INF_FMT(ptr=%p size=%u, ptr - sizeof(size_t), (unsigned int) free_amount); + free_amount = *(size_t *)(((char*)ptr) - sizeof(size_t)); + DBG_INF_FMT(ptr=%p size=%u, ((char*)ptr) - sizeof(size_t), (unsigned int) free_amount); } pefree(REAL_PTR(ptr), persistent); } @@ -923,8 +923,8 @@ if (ptr) { if (collect_memory_statistics) { - free_amount = *(size_t *)(ptr - sizeof(size_t)); - DBG_INF_FMT(ptr=%p size=%u, ptr - sizeof(size_t), (unsigned int) free_amount); + free_amount = *(size_t *)(((char*)ptr) - sizeof(size_t)); + DBG_INF_FMT(ptr=%p size=%u, ((char*)ptr) - sizeof(size_t), (unsigned int) free_amount); } free(REAL_PTR(ptr)); } @@ -976,7 +976,7 @@ { char * ret; smart_str tmp_str = {0, 0, 0}; - char * p = ptr; + const char * p = ptr; zend_bool collect_memory_statistics = MYSQLND_G(collect_memory_statistics); DBG_ENTER(mysqlnd_pestrdup_name); DBG_INF_FMT(file=%-15s line=%4d, strrchr(__zend_filename, PHP_DIR_SEPARATOR) + 1, __zend_lineno); Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-04-06 16:40:05 UTC (rev 297585) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-04-06 18:14:23 UTC (rev 297586) @@ -448,6 +448,7 @@ MYSQLND_METHOD(mysqlnd_net, decode)(zend_uchar * uncompressed_data, size_t uncompressed_data_len, const zend_uchar * const compressed_data, size_t compressed_data_len TSRMLS_DC) { +#ifdef MYSQLND_COMPRESSION_ENABLED int error; uLongf tmp_complen = uncompressed_data_len; DBG_ENTER(mysqlnd_net::decode); @@ -458,6 +459,10 @@ DBG_INF_FMT(decompression NOT successful. error=%d Z_OK=%d Z_BUF_ERROR=%d Z_MEM_ERROR=%d, error, Z_OK, Z_BUF_ERROR, Z_MEM_ERROR); } DBG_RETURN(error == Z_OK? PASS:FAIL); +#else + DBG_ENTER(mysqlnd_net::decode); + DBG_RETURN(FAIL); +#endif } /* }}} */ @@ -467,6 +472,7 @@ MYSQLND_METHOD(mysqlnd_net, encode)(zend_uchar * compress_buffer, size_t compress_buffer_len, const zend_uchar * const uncompressed_data, size_t uncompressed_data_len TSRMLS_DC) { +#ifdef MYSQLND_COMPRESSION_ENABLED int error; uLongf tmp_complen = compress_buffer_len; DBG_ENTER(mysqlnd_net::encode); @@ -478,6 +484,10 @@ DBG_INF_FMT(compression successful. compressed size=%d, tmp_complen); } DBG_RETURN(error == Z_OK? PASS:FAIL); +#else + DBG_ENTER(mysqlnd_net::encode); + DBG_RETURN(FAIL); +#endif } /* }}} */ Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysqlnd/ mysqlnd_debug.c
andrey Wed, 17 Mar 2010 18:08:25 + Revision: http://svn.php.net/viewvc?view=revisionrevision=296332 Log: Fix for complaint from the Zend MM, efree of a NULL pointer. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-03-17 18:00:47 UTC (rev 296331) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-03-17 18:08:25 UTC (rev 296332) @@ -828,7 +828,9 @@ DBG_INF_FMT(before: %lu, zend_memory_usage(persistent TSRMLS_CC)); } - pefree(ptr, persistent); + if (ptr) { + pefree(ptr, persistent); + } if (persistent == FALSE) { DBG_INF_FMT(after : %lu, zend_memory_usage(persistent TSRMLS_CC)); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h trunk/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.h
andrey Thu, 21 Jan 2010 18:12:18 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293815 Log: Add possibility to restrain the number of levels Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-21 18:08:30 UTC (rev 293814) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-21 18:12:18 UTC (rev 293815) @@ -1113,11 +1113,17 @@ long line; HashTable *ht = Z_ARRVAL_PP(frame); zval **file, **tmp; + uint * level; + level = va_arg(args, uint *); str = va_arg(args, char**); len = va_arg(args, int*); num = va_arg(args, int*); + if (!(*level)--) { + return ZEND_HASH_APPLY_KEEP; + } + s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); @@ -1283,11 +1289,17 @@ long line; HashTable *ht = Z_ARRVAL_PP(frame); zval **file, **tmp; + uint * level; + level = va_arg(args, uint *); str = va_arg(args, char**); len = va_arg(args, int*); num = va_arg(args, int*); + if (!(*level)--) { + return ZEND_HASH_APPLY_KEEP; + } + s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); @@ -1323,24 +1335,30 @@ #endif -char * mysqlnd_get_backtrace(TSRMLS_D) +PHPAPI char * mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC) { zval *trace; char *res = estrdup(), **str = res, *s_tmp; int res_len = 0, *len = res_len, num = 0; + if (max_levels == 0) { + max_levels = 9; + } MAKE_STD_ZVAL(trace); zend_fetch_debug_backtrace(trace, 0, 0 TSRMLS_CC); - zend_hash_apply_with_arguments(Z_ARRVAL_P(trace) TSRMLS_CC, (apply_func_args_t)mysqlnd_build_trace_string, 3, str, len, num); + zend_hash_apply_with_arguments(Z_ARRVAL_P(trace) TSRMLS_CC, (apply_func_args_t)mysqlnd_build_trace_string, 4, max_levels, str, len, num); zval_ptr_dtor(trace); - s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 7 + 1); - sprintf(s_tmp, #%d {main}, num); - TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); - efree(s_tmp); + if (max_levels) { + s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 7 + 1); + sprintf(s_tmp, #%d {main}, num); + TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); + efree(s_tmp); + } res[res_len] = '\0'; + *length = res_len; return res; } Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-01-21 18:08:30 UTC (rev 293814) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h2010-01-21 18:12:18 UTC (rev 293815) @@ -78,7 +78,7 @@ PHPAPI void * _mysqlnd_realloc(void *ptr, size_t new_size MYSQLND_MEM_D); PHPAPI void_mysqlnd_free(void *ptr MYSQLND_MEM_D); -PHPAPI char * mysqlnd_get_backtrace(TSRMLS_D); +PHPAPI char * mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC); #if defined(__GNUC__) #define DBG_INF_EX(dbg_obj, msg) do { if (dbg_skip_trace == FALSE) (dbg_obj)-m-log((dbg_obj), __LINE__, __FILE__, -1, info : , (msg)); } while (0) Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-21 18:08:30 UTC (rev 293814) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-21 18:12:18 UTC (rev 293815) @@ -1113,11 +1113,17 @@ long line; HashTable *ht = Z_ARRVAL_PP(frame); zval **file, **tmp; + uint * level; + level = va_arg(args, uint *); str = va_arg(args, char**); len = va_arg(args, int*); num = va_arg(args, int*); + if (!(*level)--) { + return ZEND_HASH_APPLY_KEEP; + } + s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); TRACE_APPEND_STRL(s_tmp, strlen(s_tmp)); @@ -1283,11 +1289,17 @@ long line; HashTable *ht = Z_ARRVAL_PP(frame); zval **file, **tmp; + uint * level; + level = va_arg(args, uint *); str = va_arg(args, char**); len = va_arg(args, int*); num = va_arg(args, int*); + if
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Thu, 21 Jan 2010 18:17:19 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293816 Log: decrement correctly! Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-21 18:12:18 UTC (rev 293815) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-21 18:17:19 UTC (rev 293816) @@ -1120,9 +1120,10 @@ len = va_arg(args, int*); num = va_arg(args, int*); - if (!(*level)--) { + if (!*level) { return ZEND_HASH_APPLY_KEEP; } + --*level; s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); @@ -1296,9 +1297,10 @@ len = va_arg(args, int*); num = va_arg(args, int*); - if (!(*level)--) { + if (!*level) { return ZEND_HASH_APPLY_KEEP; } + --*level; s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-21 18:12:18 UTC (rev 293815) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-21 18:17:19 UTC (rev 293816) @@ -1120,9 +1120,10 @@ len = va_arg(args, int*); num = va_arg(args, int*); - if (!(*level)--) { + if (!*level) { return ZEND_HASH_APPLY_KEEP; } + --*level; s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); @@ -1296,9 +1297,10 @@ len = va_arg(args, int*); num = va_arg(args, int*); - if (!(*level)--) { + if (!*level) { return ZEND_HASH_APPLY_KEEP; } + --*level; s_tmp = emalloc(1 + MAX_LENGTH_OF_LONG + 1 + 1); sprintf(s_tmp, #%d , (*num)++); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c branches/PHP_5_3/ext/my
hi Andrey, This commit breaks the build with Vc6 (http://pastie.org/782886), pls fix it asap as we plan to release 5.3.2RC soonish. Cheers, On Wed, Jan 13, 2010 at 3:06 PM, Andrey Hristov and...@php.net wrote: andrey Wed, 13 Jan 2010 14:06:02 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293504 Log: make mysqlnd's tracing API more reusable Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/php_mysqlnd.c U php/php-src/branches/PHP_5_3/ext/pdo_mysql/pdo_mysql.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h U php/php-src/trunk/ext/mysqlnd/php_mysqlnd.c U php/php-src/trunk/ext/pdo_mysql/pdo_mysql.c -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c trunk/ext/mysqlnd/mysqlnd_debug.c
andrey Thu, 14 Jan 2010 11:39:18 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293539 Log: Fix compiler warning Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-14 11:11:56 UTC (rev 293538) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c2010-01-14 11:39:18 UTC (rev 293539) @@ -317,7 +317,7 @@ } if ((self-flags MYSQLND_DEBUG_TRACE_MEMORY_CALLS) == 0 self-skip_functions) { - char ** p = self-skip_functions; + const char ** p = self-skip_functions; while (*p) { if (*p == func_name) { zend_stack_push(self-call_stack, , sizeof()); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-14 11:11:56 UTC (rev 293538) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c 2010-01-14 11:39:18 UTC (rev 293539) @@ -317,7 +317,7 @@ } if ((self-flags MYSQLND_DEBUG_TRACE_MEMORY_CALLS) == 0 self-skip_functions) { - char ** p = self-skip_functions; + const char ** p = self-skip_functions; while (*p) { if (*p == func_name) { zend_stack_push(self-call_stack, , sizeof()); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c branches/PHP_5_3/ext/mysqlnd/
andrey Wed, 13 Jan 2010 14:06:02 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293504 Log: make mysqlnd's tracing API more reusable Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/php_mysqlnd.c U php/php-src/branches/PHP_5_3/ext/pdo_mysql/pdo_mysql.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_debug.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h U php/php-src/trunk/ext/mysqlnd/php_mysqlnd.c U php/php-src/trunk/ext/pdo_mysql/pdo_mysql.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-01-13 13:45:26 UTC (rev 293503) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_debug.c 2010-01-13 14:06:02 UTC (rev 293504) @@ -47,19 +47,38 @@ #define MYSQLND_DEBUG_FLUSH 128 #define MYSQLND_DEBUG_TRACE_MEMORY_CALLS 256 -static char * mysqlnd_emalloc_name = _mysqlnd_emalloc; -static char * mysqlnd_pemalloc_name = _mysqlnd_pemalloc; -static char * mysqlnd_ecalloc_name = _mysqlnd_ecalloc; -static char * mysqlnd_pecalloc_name = _mysqlnd_pecalloc; -static char * mysqlnd_erealloc_name = _mysqlnd_erealloc; -static char * mysqlnd_perealloc_name= _mysqlnd_perealloc; -static char * mysqlnd_efree_name = _mysqlnd_efree; -static char * mysqlnd_pefree_name = _mysqlnd_pefree; -static char * mysqlnd_malloc_name = _mysqlnd_malloc; -static char * mysqlnd_calloc_name = _mysqlnd_calloc; -static char * mysqlnd_realloc_name = _mysqlnd_realloc; -static char * mysqlnd_free_name = _mysqlnd_free; +static const char mysqlnd_emalloc_name[] = _mysqlnd_emalloc; +static const char mysqlnd_pemalloc_name[] = _mysqlnd_pemalloc; +static const char mysqlnd_ecalloc_name[] = _mysqlnd_ecalloc; +static const char mysqlnd_pecalloc_name[] = _mysqlnd_pecalloc; +static const char mysqlnd_erealloc_name[] = _mysqlnd_erealloc; +static const char mysqlnd_perealloc_name[] = _mysqlnd_perealloc; +static const char mysqlnd_efree_name[] = _mysqlnd_efree; +static const char mysqlnd_pefree_name[] = _mysqlnd_pefree; +static const char mysqlnd_malloc_name[] = _mysqlnd_malloc; +static const char mysqlnd_calloc_name[] = _mysqlnd_calloc; +static const char mysqlnd_realloc_name[] = _mysqlnd_realloc; +static const char mysqlnd_free_name[] = _mysqlnd_free; +const char * mysqlnd_debug_std_no_trace_funcs[] = +{ + mysqlnd_emalloc_name, + mysqlnd_ecalloc_name, + mysqlnd_efree_name, + mysqlnd_erealloc_name, + mysqlnd_pemalloc_name, + mysqlnd_pecalloc_name, + mysqlnd_pefree_name, + mysqlnd_perealloc_name, + mysqlnd_malloc_name, + mysqlnd_calloc_name, + mysqlnd_realloc_name, + mysqlnd_free_name, + mysqlnd_read_header_name, + mysqlnd_read_body_name, + NULL /* must be always last */ +}; + /* {{{ mysqlnd_debug::open */ static enum_func_status MYSQLND_METHOD(mysqlnd_debug, open)(MYSQLND_DEBUG * self, zend_bool reopen) @@ -288,7 +307,7 @@ static zend_bool MYSQLND_METHOD(mysqlnd_debug, func_enter)(MYSQLND_DEBUG * self, unsigned int line, const char * const file, - char * func_name, unsigned int func_name_len) + const char * const func_name, unsigned int func_name_len) { if ((self-flags MYSQLND_DEBUG_DUMP_TRACE) == 0 || self-file_name == NULL) { return FALSE; @@ -297,16 +316,15 @@ return FALSE; } - if ((self-flags MYSQLND_DEBUG_TRACE_MEMORY_CALLS) == 0 - (func_name == mysqlnd_emalloc_name || func_name == mysqlnd_pemalloc_name || - func_name == mysqlnd_ecalloc_name || func_name == mysqlnd_pecalloc_name || - func_name == mysqlnd_erealloc_name || func_name == mysqlnd_perealloc_name || - func_name == mysqlnd_efree_name || func_name == mysqlnd_pefree_name || - func_name == mysqlnd_malloc_name || func_name == mysqlnd_calloc_name || - func_name == mysqlnd_realloc_name || func_name == mysqlnd_free_name || - func_name == mysqlnd_read_header_name || func_name == mysqlnd_read_body_name)) { - zend_stack_push(self-call_stack, , sizeof()); - return FALSE; + if ((self-flags MYSQLND_DEBUG_TRACE_MEMORY_CALLS) == 0 self-skip_functions) { + char ** p = self-skip_functions; + while (*p) { + if (*p == func_name) { +zend_stack_push(self-call_stack, , sizeof()); + return FALSE; + } + p++; + } } zend_stack_push(self-call_stack, func_name, func_name_len + 1); @@ -588,7 +606,8 @@ /* {{{ mysqlnd_debug_init */ -PHPAPI MYSQLND_DEBUG *mysqlnd_debug_init(TSRMLS_D) +PHPAPI MYSQLND_DEBUG * +mysqlnd_debug_init(const char * skip_functions[] TSRMLS_DC) { MYSQLND_DEBUG *ret