Describe the bug
I am not sure I understand the tracing macros:
|
#define BLOSC_ERROR(rc) \ |
|
do { \ |
|
int rc_ = rc; \ |
|
if (rc_ < BLOSC2_ERROR_SUCCESS) { \ |
|
char *error_msg = print_error(rc_); \ |
|
BLOSC_TRACE_ERROR("%s", error_msg); \ |
|
return rc_; \ |
|
} \ |
|
} while (0) |
|
|
|
#define BLOSC_INFO(msg, ...) \ |
|
do { \ |
|
const char *__e = getenv("BLOSC_INFO"); \ |
|
if (!__e) { break; } \ |
|
fprintf(stderr, "[INFO] - " msg "\n", ##__VA_ARGS__); \ |
|
} while(0) |
BLOSC_ERROR calls BLOSC_TRACE_ERROR, which prints only if environment variable BLOSC_TRACE is defined
BLOSC_INFO prints directly if environment variable BLOSC_INFO is defined. Instead, I think it should call BLOSC_TRACE_INFO, which prints only if environment variable BLOSC_TRACE is defined.
I realise that it's probably unfeasible to modify things without slightly breaking backwards compatibility, but the current macros don't make sense to me: if environment only variable BLOSC_INFO is defined, BLOSC_INFO will print but BLOSC_ERROR will not print!
Describe the bug
I am not sure I understand the tracing macros:
c-blosc2/include/blosc2.h
Lines 114 to 129 in 3ae32b6
BLOSC_ERRORcallsBLOSC_TRACE_ERROR, which prints only if environment variableBLOSC_TRACEis definedBLOSC_INFOprints directly if environment variableBLOSC_INFOis defined. Instead, I think it should callBLOSC_TRACE_INFO, which prints only if environment variableBLOSC_TRACEis defined.I realise that it's probably unfeasible to modify things without slightly breaking backwards compatibility, but the current macros don't make sense to me: if environment only variable
BLOSC_INFOis defined,BLOSC_INFOwill print butBLOSC_ERRORwill not print!