diff options
Diffstat (limited to 'Build/source/texk/gregorio/gregorio-src/src/messages.h')
-rw-r--r-- | Build/source/texk/gregorio/gregorio-src/src/messages.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/Build/source/texk/gregorio/gregorio-src/src/messages.h b/Build/source/texk/gregorio/gregorio-src/src/messages.h index 19ad015847e..9ebc6e39b80 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/messages.h +++ b/Build/source/texk/gregorio/gregorio-src/src/messages.h @@ -42,6 +42,7 @@ typedef enum gregorio_verbosity { VERBOSITY_WARNING, VERBOSITY_DEPRECATION, VERBOSITY_ERROR, + VERBOSITY_ASSERTION, VERBOSITY_FATAL } gregorio_verbosity; @@ -52,8 +53,37 @@ void gregorio_messagef(const char *function_name, int line_number, const char *format, ...) __attribute__ ((__format__ (__printf__, 4, 5))); void gregorio_set_verbosity_mode(gregorio_verbosity verbosity); -void gregorio_set_file_name(const char *new_name); +void gregorio_set_debug_messages(bool debug); void gregorio_set_error_out(FILE *f); int gregorio_get_return_value(void); +#define gregorio_assert_only(TEST,FUNCTION,MESSAGE) \ + if (!(TEST)) { \ + gregorio_message(_(MESSAGE), #FUNCTION, VERBOSITY_ASSERTION, __LINE__); \ + } + +#define gregorio_assert(TEST,FUNCTION,MESSAGE,ON_FALSE) \ + if (!(TEST)) { \ + gregorio_message(_(MESSAGE), #FUNCTION, VERBOSITY_ASSERTION, __LINE__); \ + ON_FALSE; \ + } + +#define gregorio_assert2(TEST,FUNCTION,FORMAT,ARG,ON_FALSE) \ + if (!(TEST)) { \ + gregorio_messagef(#FUNCTION, VERBOSITY_ASSERTION, __LINE__, FORMAT, ARG); \ + ON_FALSE; \ + } + +#define gregorio_not_null(VARIABLE,FUNCTION,ON_FALSE) \ + gregorio_assert(VARIABLE, FUNCTION, #VARIABLE " may not be null", ON_FALSE) + +#define gregorio_not_null_ptr(VARIABLE,FUNCTION,ON_FALSE) \ + gregorio_assert(VARIABLE && *VARIABLE, FUNCTION, #VARIABLE " may not be null", ON_FALSE) + +#define gregorio_fail(FUNCTION,MESSAGE) \ + gregorio_message(_(MESSAGE), #FUNCTION, VERBOSITY_ASSERTION, __LINE__) + +#define gregorio_fail2(FUNCTION,FORMAT,ARG) \ + gregorio_messagef(#FUNCTION, VERBOSITY_ASSERTION, __LINE__, FORMAT, ARG) + #endif |