andrey          Fri Jun 12 13:24:57 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/mysqlnd        mysqlnd_enum_n_def.h mysqlnd_statistics.c 
                                mysqlnd_statistics.h mysqlnd_wireprotocol.c 
  Log:
  MFH:
  Fix crash when tracing is enabled. Position after buffer was used also
  direct usage of MYSQLND_STRING pointer instead of the "s" property of the
  structure.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_enum_n_def.h?r1=1.2.2.13&r2=1.2.2.14&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_enum_n_def.h
diff -u php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.13 
php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.14
--- php-src/ext/mysqlnd/mysqlnd_enum_n_def.h:1.2.2.13   Thu Jan 22 21:01:54 2009
+++ php-src/ext/mysqlnd/mysqlnd_enum_n_def.h    Fri Jun 12 13:24:57 2009
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysqlnd_enum_n_def.h,v 1.2.2.13 2009/01/22 21:01:54 johannes Exp $ */
+/* $Id: mysqlnd_enum_n_def.h,v 1.2.2.14 2009/06/12 13:24:57 andrey Exp $ */
 #ifndef MYSQLND_ENUM_N_DEF_H
 #define MYSQLND_ENUM_N_DEF_H
 
@@ -142,7 +142,6 @@
        MYSQLND_OPT_NET_READ_BUFFER_SIZE = 203,
 } enum_mysqlnd_option;
 
-
 typedef enum mysqlnd_field_types
 {
        MYSQL_TYPE_DECIMAL,
@@ -177,7 +176,6 @@
 /* Please update this if there is a new type after MYSQL_TYPE_GEOMETRY */
 #define MYSQL_TYPE_LAST                MYSQL_TYPE_GEOMETRY
 
-
 typedef enum mysqlnd_server_option
 {
        MYSQL_OPTION_MULTI_STATEMENTS_ON,
@@ -241,7 +239,6 @@
 /* see mysqlnd_charset.c for more information */
 #define MYSQLND_BINARY_CHARSET_NR      63
 
-
 /*
           /-----> CONN_CLOSE  <---------------\
          |           ^                         \
@@ -261,7 +258,6 @@
        CONN_QUIT_SENT, /* object is "destroyed" at this stage */
 } enum_mysqlnd_connection_state;
 
-
 typedef enum mysqlnd_stmt_state
 {
        MYSQLND_STMT_INITTED = 0,
@@ -272,13 +268,11 @@
        MYSQLND_STMT_USER_FETCHING, /* fetch_row_buff or fetch_row_unbuf */
 } enum_mysqlnd_stmt_state;
 
-
 typedef enum param_bind_flags
 {
        MYSQLND_PARAM_BIND_BLOB_USED = 1
 } enum_param_bind_flags;
 
-
 /* PS */
 enum mysqlnd_stmt_attr
 {
@@ -286,7 +280,6 @@
        STMT_ATTR_CURSOR_TYPE,
        STMT_ATTR_PREFETCH_ROWS
 };
-
 enum myslqnd_cursor_type
 {
        CURSOR_TYPE_NO_CURSOR= 0,
@@ -294,7 +287,6 @@
        CURSOR_TYPE_FOR_UPDATE= 2,
        CURSOR_TYPE_SCROLLABLE= 4
 };
-
 typedef enum mysqlnd_connection_close_type
 {
        MYSQLND_CLOSE_EXPLICIT = 0,
@@ -303,7 +295,6 @@
        MYSQLND_CLOSE_LAST      /* for checking, should always be last */
 } enum_connection_close_type;
 
-
 typedef enum mysqlnd_collected_stats
 {
        STAT_BYTES_SENT,
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_statistics.c?r1=1.2.2.10&r2=1.2.2.11&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_statistics.c
diff -u php-src/ext/mysqlnd/mysqlnd_statistics.c:1.2.2.10 
php-src/ext/mysqlnd/mysqlnd_statistics.c:1.2.2.11
--- php-src/ext/mysqlnd/mysqlnd_statistics.c:1.2.2.10   Mon Mar 30 16:52:33 2009
+++ php-src/ext/mysqlnd/mysqlnd_statistics.c    Fri Jun 12 13:24:57 2009
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysqlnd_statistics.c,v 1.2.2.10 2009/03/30 16:52:33 felipe Exp $ */
+/* $Id: mysqlnd_statistics.c,v 1.2.2.11 2009/06/12 13:24:57 andrey Exp $ */
 #include "php.h"
 #include "mysqlnd.h"
 #include "mysqlnd_priv.h"
@@ -168,7 +168,7 @@
                UChar *ustr, *tstr;
                int ulen, tlen;
 #endif
-               char tmp[22];
+               char tmp[25];
                
                sprintf((char *)&tmp, MYSQLND_LLU_SPEC, stats->values[i]);
 #if PHP_MAJOR_VERSION >= 6
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_statistics.h?r1=1.4.2.13&r2=1.4.2.14&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_statistics.h
diff -u php-src/ext/mysqlnd/mysqlnd_statistics.h:1.4.2.13 
php-src/ext/mysqlnd/mysqlnd_statistics.h:1.4.2.14
--- php-src/ext/mysqlnd/mysqlnd_statistics.h:1.4.2.13   Fri May 29 08:05:38 2009
+++ php-src/ext/mysqlnd/mysqlnd_statistics.h    Fri Jun 12 13:24:57 2009
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: mysqlnd_statistics.h,v 1.4.2.13 2009/05/29 08:05:38 andrey Exp $ */
+/* $Id: mysqlnd_statistics.h,v 1.4.2.14 2009/06/12 13:24:57 andrey Exp $ */
 
 #ifndef MYSQLND_STATISTICS_H
 #define MYSQLND_STATISTICS_H
@@ -39,7 +39,8 @@
 #define MYSQLND_INC_GLOBAL_STATISTIC(statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
+                       \
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
                mysqlnd_global_stats->values[(statistic)]++; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
@@ -49,7 +50,8 @@
 #define MYSQLND_DEC_CONN_STATISTIC(conn_stats, statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global&conn stat decrease [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&conn stat decrease [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
+                       \
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
                mysqlnd_global_stats->values[(statistic)]--; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
@@ -64,11 +66,15 @@
        if (MYSQLND_G(collect_statistics)) { \
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
-               DBG_INF_FMT("Global stat increase [%s] [%s]", 
mysqlnd_stats_values_names[(statistic1)], 
mysqlnd_stats_values_names[(statistic2)]); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1);\
+               enum_mysqlnd_collected_stats _s2 = (statistic2);\
+                                                                \
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
                                                                                
\
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
        }\
  }
@@ -76,7 +82,8 @@
 #define MYSQLND_INC_CONN_STATISTIC(conn_stats, statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global&Conn stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&Conn stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
+                       \
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
                mysqlnd_global_stats->values[(statistic)]++; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
@@ -90,7 +97,8 @@
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
                uint64_t v = (uint64_t) (value); \
-               DBG_INF_FMT("Global&Conn stat increase w value [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&Conn stat increase w value [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
+                       \
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
                mysqlnd_global_stats->values[(statistic)] += v; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
@@ -105,14 +113,19 @@
        if (MYSQLND_G(collect_statistics)) { \
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1);\
+               enum_mysqlnd_collected_stats _s2 = (statistic2);\
                                                                 \
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
+                                       \
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
                if ((conn_stats)) { \
-                       if (statistic1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic1)]+= v1; \
-                       if (statistic2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic2)]+= v2; \
+                       if (_s1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s1]+= v1; \
+                       if (_s2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s2]+= v2; \
                } \
        } \
  }
@@ -124,16 +137,23 @@
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
                uint64_t v3 = (uint64_t) (value3); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1); \
+               enum_mysqlnd_collected_stats _s2 = (statistic2); \
+               enum_mysqlnd_collected_stats _s3 = (statistic3); \
+                                                                \
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
+               if (_s3 != STAT_LAST) DBG_INF_FMT("Global stat increase3 [%s]", 
mysqlnd_stats_values_names[_s3].s); \
                                                                                
\
                tsrm_mutex_lock(mysqlnd_global_stats->LOCK_access); \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
-               if (statistic3 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic3)]+= v3; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
+               if (_s3 != STAT_LAST) mysqlnd_global_stats->values[_s3]+= v3; \
                tsrm_mutex_unlock(mysqlnd_global_stats->LOCK_access); \
                if ((conn_stats)) { \
-                       if (statistic1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic1)]+= v1; \
-                       if (statistic2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic2)]+= v2; \
-                       if (statistic3 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic3)]+= v3; \
+                       if (_s1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s1]+= v1; \
+                       if (_s2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s2]+= v2; \
+                       if (_s3 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s3]+= v3; \
                } \
        } \
  }
@@ -144,7 +164,7 @@
 #define MYSQLND_INC_GLOBAL_STATISTIC(statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
                mysqlnd_global_stats->values[(statistic)]++; \
        } \
  }
@@ -153,7 +173,7 @@
 #define MYSQLND_DEC_CONN_STATISTIC(conn_stats, statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global&Conn stat decrease [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&Conn stat decrease [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
                mysqlnd_global_stats->values[(statistic)]--; \
                if ((conn_stats)) { \
                        ((MYSQLND_STATS *) conn_stats)->values[(statistic)]--; \
@@ -166,17 +186,21 @@
        if (MYSQLND_G(collect_statistics)) { \
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
-               DBG_INF_FMT("Global stat increase [%s] [%s]", 
mysqlnd_stats_values_names[(statistic1)], 
mysqlnd_stats_values_names[(statistic2)]); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1);\
+               enum_mysqlnd_collected_stats _s2 = (statistic2);\
+                                                                \
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
                        \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
        }\
  }
 
 #define MYSQLND_INC_CONN_STATISTIC(conn_stats, statistic) \
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
-               DBG_INF_FMT("Global&Conn stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&Conn stat increase [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
                mysqlnd_global_stats->values[(statistic)]++; \
                if ((conn_stats)) { \
                        ((MYSQLND_STATS *) conn_stats)->values[(statistic)]++; \
@@ -188,7 +212,7 @@
  { \
        if (MYSQLND_G(collect_statistics) && (statistic) != STAT_LAST) { \
                uint64_t v = (uint64_t) (value); \
-               DBG_INF_FMT("Global&Conn stats increase w value [%s]", 
mysqlnd_stats_values_names[(statistic)]); \
+               DBG_INF_FMT("Global&Conn stats increase w value [%s]", 
mysqlnd_stats_values_names[(statistic)].s); \
                mysqlnd_global_stats->values[(statistic)] += v; \
                if ((conn_stats)) { \
                        ((MYSQLND_STATS *) conn_stats)->values[(statistic)] += 
v; \
@@ -201,12 +225,16 @@
        if (MYSQLND_G(collect_statistics)) { \
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1);\
+               enum_mysqlnd_collected_stats _s2 = (statistic2);\
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
                                                                 \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
                if ((conn_stats)) { \
-                       if (statistic1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic1)]+= v1; \
-                       if (statistic2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic2)]+= v2; \
+                       if (_s1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s1]+= v1; \
+                       if (_s2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s2]+= v2; \
                } \
        } \
  }
@@ -217,14 +245,21 @@
                uint64_t v1 = (uint64_t) (value1); \
                uint64_t v2 = (uint64_t) (value2); \
                uint64_t v3 = (uint64_t) (value3); \
+               enum_mysqlnd_collected_stats _s1 = (statistic1); \
+               enum_mysqlnd_collected_stats _s2 = (statistic2); \
+               enum_mysqlnd_collected_stats _s3 = (statistic3); \
+                                                                \
+               if (_s1 != STAT_LAST) DBG_INF_FMT("Global stat increase1 [%s]", 
mysqlnd_stats_values_names[_s1].s); \
+               if (_s2 != STAT_LAST) DBG_INF_FMT("Global stat increase2 [%s]", 
mysqlnd_stats_values_names[_s2].s); \
+               if (_s3 != STAT_LAST) DBG_INF_FMT("Global stat increase3 [%s]", 
mysqlnd_stats_values_names[_s3].s); \
                                                                \
-               if (statistic1 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic1)]+= v1; \
-               if (statistic2 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic2)]+= v2; \
-               if (statistic3 != STAT_LAST) 
mysqlnd_global_stats->values[(statistic3)]+= v3; \
-               if ((conn_stats)) { \
-                       if (statistic1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic1)]+= v1; \
-                       if (statistic2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic2)]+= v2; \
-                       if (statistic3 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[(statistic3)]+= v3; \
+               if (_s1 != STAT_LAST) mysqlnd_global_stats->values[_s1]+= v1; \
+               if (_s2 != STAT_LAST) mysqlnd_global_stats->values[_s2]+= v2; \
+               if (_s3 != STAT_LAST) mysqlnd_global_stats->values[_s3]+= v3; \
+               if ((conn_stats)) { \
+                       if (_s1 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s1]+= v1; \
+                       if (_s2 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s2]+= v2; \
+                       if (_s3 != STAT_LAST) ((MYSQLND_STATS *) 
conn_stats)->values[_s3]+= v3; \
                } \
        } \
  }
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_wireprotocol.c?r1=1.4.2.29&r2=1.4.2.30&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_wireprotocol.c
diff -u php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.29 
php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.30
--- php-src/ext/mysqlnd/mysqlnd_wireprotocol.c:1.4.2.29 Thu Jun 11 17:54:04 2009
+++ php-src/ext/mysqlnd/mysqlnd_wireprotocol.c  Fri Jun 12 13:24:57 2009
@@ -69,7 +69,6 @@
                                                                                
        1); \
        }
 
-
 extern mysqlnd_packet_methods packet_methods[];
 
 static const char *unknown_sqlstate= "HY000";

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to