@@ -66,16 +66,21 @@ PHPAPI char * mysqlnd_get_backtrace(uint max_levels, size_t * length TSRMLS_DC);
66
66
67
67
#if defined(__GNUC__ ) || (defined(_MSC_VER ) && (_MSC_VER >= 1400 ))
68
68
#define DBG_PROFILE_TIMEVAL_TO_DOUBLE (tp ) ((tp.tv_sec * 1000000LL)+ tp.tv_usec)
69
- #define DBG_PROFILE_DECLARE_TIMEVARS struct timeval __dbg_prof_tp = {0}; uint64_t __dbg_prof_start = 0; /* initialization is needed */
69
+ #ifndef _MSC_VER
70
70
#define DBG_PROFILE_START_TIME () gettimeofday(&__dbg_prof_tp, NULL); __dbg_prof_start = DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp);
71
71
#define DBG_PROFILE_END_TIME (duration ) gettimeofday(&__dbg_prof_tp, NULL); (duration) = (DBG_PROFILE_TIMEVAL_TO_DOUBLE(__dbg_prof_tp) - __dbg_prof_start);
72
+ #else
73
+ #define DBG_PROFILE_START_TIME () __dbg_prof_start = 0; /* no gettimeofday on Windows */
74
+ #define DBG_PROFILE_END_TIME (duration ) (duration) = 0; /* no gettimeofday on Windows */
75
+ #endif
76
+
72
77
73
78
#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)
74
79
#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)
75
80
#define DBG_INF_FMT_EX (dbg_obj , ...) do { if (dbg_skip_trace == FALSE) (dbg_obj)->m->log_va((dbg_obj), __LINE__, __FILE__, -1, "info : ", __VA_ARGS__); } while (0)
76
81
#define DBG_ERR_FMT_EX (dbg_obj , ...) do { if (dbg_skip_trace == FALSE) (dbg_obj)->m->log_va((dbg_obj), __LINE__, __FILE__, -1, "error: ", __VA_ARGS__); } while (0)
77
82
78
- #define DBG_ENTER_EX (dbg_obj , func_name ) DBG_PROFILE_DECLARE_TIMEVARS; zend_bool dbg_skip_trace = TRUE; \
83
+ #define DBG_ENTER_EX (dbg_obj , func_name ) struct timeval __dbg_prof_tp = {0}; uint64_t __dbg_prof_start = 0; /* initialization is needed */ zend_bool dbg_skip_trace = TRUE; \
79
84
if ((dbg_obj )) dbg_skip_trace = !(dbg_obj )-> m -> func_enter ((dbg_obj ), __LINE__ , __FILE__ , func_name , strlen (func_name )); \
80
85
do { DBG_PROFILE_START_TIME (); } while (0 );
81
86
#define DBG_RETURN_EX (dbg_obj , value ) \
0 commit comments