summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Fuhrmannek2021-08-07 15:55:48 +0200
committerBen Fuhrmannek2021-08-07 15:55:48 +0200
commite8bb162220ac17cb9b8cc229666356e88f081887 (patch)
tree9718bbc8225d756b612bf282b495b72eb8c49ded
parente399c93db185bfd95ff003dd89e2af49462bf8b6 (diff)
prevent STDERR debug output based on SP_NODEBUG environment variable
-rw-r--r--src/snuffleupagus.c12
-rw-r--r--src/sp_utils.h2
2 files changed, 10 insertions, 4 deletions
diff --git a/src/snuffleupagus.c b/src/snuffleupagus.c
index 2ee94a1..3ad47d5 100644
--- a/src/snuffleupagus.c
+++ b/src/snuffleupagus.c
@@ -75,7 +75,11 @@ ZEND_DLEXPORT zend_extension zend_extension_entry = {
75 75
76static PHP_GINIT_FUNCTION(snuffleupagus) { 76static PHP_GINIT_FUNCTION(snuffleupagus) {
77#ifdef SP_DEBUG_STDERR 77#ifdef SP_DEBUG_STDERR
78 sp_debug_stderr = dup(STDERR_FILENO); 78 if (getenv("SP_NODEBUG")) {
79 sp_debug_stderr = -1;
80 } else {
81 sp_debug_stderr = dup(STDERR_FILENO);
82 }
79#endif 83#endif
80 sp_log_debug("(GINIT)"); 84 sp_log_debug("(GINIT)");
81 snuffleupagus_globals->is_config_valid = SP_CONFIG_NONE; 85 snuffleupagus_globals->is_config_valid = SP_CONFIG_NONE;
@@ -218,8 +222,10 @@ static PHP_GSHUTDOWN_FUNCTION(snuffleupagus) {
218#undef FREE_CFG_ZSTR 222#undef FREE_CFG_ZSTR
219 223
220#ifdef SP_DEBUG_STDERR 224#ifdef SP_DEBUG_STDERR
221 close(sp_debug_stderr); 225 if (sp_debug_stderr >= 0) {
222 sp_debug_stderr = STDERR_FILENO; 226 close(sp_debug_stderr);
227 sp_debug_stderr = STDERR_FILENO;
228 }
223#endif 229#endif
224} 230}
225 231
diff --git a/src/sp_utils.h b/src/sp_utils.h
index ec79e8b..c0ddbe4 100644
--- a/src/sp_utils.h
+++ b/src/sp_utils.h
@@ -57,7 +57,7 @@
57#ifdef SP_DEBUG_STDERR 57#ifdef SP_DEBUG_STDERR
58extern int sp_debug_stderr; 58extern int sp_debug_stderr;
59#define sp_log_debug(fmt, ...) \ 59#define sp_log_debug(fmt, ...) \
60 dprintf(sp_debug_stderr, "[snuffleupagus][DEBUG] %s(): " fmt "\n", __FUNCTION__, ##__VA_ARGS__); 60 if (sp_debug_stderr > 0) dprintf(sp_debug_stderr, "[snuffleupagus][DEBUG] %s(): " fmt "\n", __FUNCTION__, ##__VA_ARGS__);
61#else 61#else
62#define sp_log_debug(fmt, ...) \ 62#define sp_log_debug(fmt, ...) \
63 sp_log_msgf("DEBUG", SP_LOG_DEBUG, SP_TYPE_LOG, "%s(): " fmt, __FUNCTION__, ##__VA_ARGS__) 63 sp_log_msgf("DEBUG", SP_LOG_DEBUG, SP_TYPE_LOG, "%s(): " fmt, __FUNCTION__, ##__VA_ARGS__)