sq epan/dissectors/pidl/rcg/rcg.cnf
[wireshark-sm.git] / epan / conversation_debug.h
blob2160b855a274704268fdf79515c9f722d042ca1d
1 /** @file
2 * A file of debug printing stuff for conversation-related things,
3 * although really anything can use this so long as it includes this
4 * header file and defines DEBUG_CONVERSATION in conversation.c
6 * define DEBUG_CONVERSATION before including this file to turn on printing
7 * and also define it in conversation.c (because it has the indent variable)
9 * By Hadriel Kaplan <hadrielk at yahoo dot com>
10 * Copyright 2014 Hadriel Kaplan
12 * SPDX-License-Identifier: GPL-2.0-or-later
15 #ifndef _CONVERSATION_DEBUG_H
16 #define _CONVERSATION_DEBUG_H
18 #ifdef DEBUG_CONVERSATION
20 #include <stdio.h>
21 #include "to_str.h"
23 extern int _debug_conversation_indent; /* the instance is in conversation.c */
25 #define DINDENT() _debug_conversation_indent += 4
26 #define DENDENT() _debug_conversation_indent -= 4
28 #define DPRINT(arg) \
29 g_printerr("%*.*s%s: ", \
30 _debug_conversation_indent,_debug_conversation_indent," ", \
31 G_STRLOC); \
32 g_printerr arg; \
33 g_printerr("\n")
35 #define DPRINT2(arg) \
36 g_printerr("%*.*s", \
37 _debug_conversation_indent,_debug_conversation_indent," "); \
38 g_printerr arg; \
39 g_printerr("\n")
41 #define DINSTR(arg) arg
43 #else /* !DEBUG_CONVERSATION */
45 /* a hack to let these defines be used with trailing semi-colon and not
46 * cause gcc extra-check pedantic warnings for extra colons
48 #define DINDENT() (void)0
49 #define DENDENT() (void)0
50 #define DPRINT(arg) (void)0
51 #define DPRINT2(arg) (void)0
52 #define DINSTR(arg) (void)0
54 #endif /* DEBUG_CONVERSATION */
56 #endif /* _CONVERSATION_DEBUG_H */