2016-08-29 22:49:24 +02:00
|
|
|
/* vi:set ts=8 sw=8 noet:
|
2004-06-13 20:20:40 +00:00
|
|
|
*
|
|
|
|
* VIM - Vi IMproved by Bram Moolenaar
|
|
|
|
* Visual Workshop integration by Gordon Prieur
|
|
|
|
*
|
|
|
|
* Do ":help uganda" in Vim to read copying and usage conditions.
|
|
|
|
* Do ":help credits" in Vim to see a list of people who contributed.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef NBDEBUG_H
|
|
|
|
#define NBDEBUG_H
|
|
|
|
|
|
|
|
#ifdef NBDEBUG
|
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# ifndef ASSERT
|
|
|
|
# define ASSERT(c) \
|
2023-01-22 21:14:53 +00:00
|
|
|
if (!(c)) \
|
|
|
|
{ \
|
2004-06-13 20:20:40 +00:00
|
|
|
fprintf(stderr, "Assertion failed: line %d, file %s\n", \
|
|
|
|
__LINE__, __FILE__); \
|
|
|
|
fflush(stderr); \
|
|
|
|
abort(); \
|
|
|
|
}
|
2019-11-30 19:44:38 +01:00
|
|
|
# endif
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# define nbdebug(a) nbdbg a
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# define NB_TRACE 0x00000001
|
|
|
|
# define NB_TRACE_VERBOSE 0x00000002
|
|
|
|
# define NB_TRACE_COLONCMD 0x00000004
|
|
|
|
# define NB_PRINT 0x00000008
|
|
|
|
# define NB_DEBUG_ALL 0xffffffff
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# define NBDLEVEL(flags) (nb_debug != NULL && (nb_dlevel & (flags)))
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# define NBDEBUG_TRACE 1
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
|
|
typedef enum {
|
2019-11-30 19:44:38 +01:00
|
|
|
WT_ENV = 1, // look for env var if set
|
|
|
|
WT_WAIT, // look for ~/.gvimwait if set
|
|
|
|
WT_STOP // look for ~/.gvimstop if set
|
2004-06-13 20:20:40 +00:00
|
|
|
} WtWait;
|
|
|
|
|
|
|
|
|
2021-08-02 18:07:18 +02:00
|
|
|
void nbdbg(char *, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2);
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2016-01-29 23:20:40 +01:00
|
|
|
void nbdebug_wait(u_int wait_flags, char *wait_var, u_int wait_secs);
|
|
|
|
void nbdebug_log_init(char *log_var, char *level_var);
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
|
|
extern FILE *nb_debug;
|
2019-11-30 19:44:38 +01:00
|
|
|
extern u_int nb_dlevel; // nb_debug verbosity level
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
#else // not NBDEBUG
|
2004-06-13 20:20:40 +00:00
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
# ifndef ASSERT
|
|
|
|
# define ASSERT(c)
|
|
|
|
# endif
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
|
|
/*
|
2004-10-24 19:18:58 +00:00
|
|
|
* The following 3 stubs are needed because a macro cannot be used because of
|
2004-06-13 20:20:40 +00:00
|
|
|
* the variable number of arguments.
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
|
|
|
nbdbg(
|
|
|
|
char *fmt,
|
|
|
|
...)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2019-11-30 19:44:38 +01:00
|
|
|
#endif // NBDEBUG
|
|
|
|
#endif // NBDEBUG_H
|