[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/mysqlnd/ mysqlnd_debug.c

2010-11-15 Thread Pierre Joye
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

2010-10-29 Thread Andrey Hristov
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

2010-10-25 Thread Andrey Hristov
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

2010-09-22 Thread Andrey Hristov
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

2010-05-27 Thread Andrey Hristov
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

2010-05-25 Thread Andrey Hristov
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

2010-05-21 Thread Andrey Hristov
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

2010-05-03 Thread Andrey Hristov
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

2010-04-22 Thread Andrey Hristov
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

2010-04-15 Thread Andrey Hristov
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

2010-04-06 Thread Andrey Hristov
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

2010-04-06 Thread Andrey Hristov
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

2010-03-17 Thread Andrey Hristov
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

2010-01-21 Thread Andrey Hristov
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

2010-01-21 Thread Andrey Hristov
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

2010-01-18 Thread Pierre Joye
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

2010-01-14 Thread Andrey Hristov
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/

2010-01-13 Thread Andrey Hristov
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