diff options
| author | Ben Fuhrmannek | 2021-08-07 15:55:48 +0200 |
|---|---|---|
| committer | Ben Fuhrmannek | 2021-08-07 15:55:48 +0200 |
| commit | e8bb162220ac17cb9b8cc229666356e88f081887 (patch) | |
| tree | 9718bbc8225d756b612bf282b495b72eb8c49ded /src | |
| parent | e399c93db185bfd95ff003dd89e2af49462bf8b6 (diff) | |
prevent STDERR debug output based on SP_NODEBUG environment variable
Diffstat (limited to 'src')
| -rw-r--r-- | src/snuffleupagus.c | 12 | ||||
| -rw-r--r-- | src/sp_utils.h | 2 |
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 | ||
| 76 | static PHP_GINIT_FUNCTION(snuffleupagus) { | 76 | static 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 |
| 58 | extern int sp_debug_stderr; | 58 | extern 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__) |
