/
debug.c
103 lines (90 loc) · 2.02 KB
/
debug.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
* CGIWrap is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CGIWrap is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with CGIWrap; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Copyright 2003-2005, Nathan Neulinger <nneul@neulinger.org>
*
*/
/**
** File: debug.c
** Purpose: Debugging output routines
**/
#include "cgiwrap.h" /* Headers for all CGIwrap source files */
RCSID("$Id$");
/*
* Global flag to turn debugging output on/off
*/
int CONF_DEBUG;
/*
* Print out a debugging message if CONF_DEBUG is true
*/
void DEBUG_Msg (char *msg)
{
if (CONF_DEBUG)
{
printf("%s\n", NullCheck(msg));
fflush(stdout);
}
}
void DEBUG_Str (char *msg, char *var)
{
if (CONF_DEBUG)
{
printf("%s '%s'\n", NullCheck(msg), NullCheck(var) );
fflush(stdout);
}
}
void DEBUG_StrStr (char *msg, char *var, char *var2)
{
if (CONF_DEBUG)
{
printf("%s '%s'-'%s'\n", NullCheck(msg),
NullCheck(var), NullCheck(var2) );
fflush(stdout);
}
}
void DEBUG_Int (char *msg, int var)
{
if (CONF_DEBUG)
{
printf("%s '%d'\n", NullCheck(msg), var );
fflush(stdout);
}
}
/*
* Intended to debug a call to execv by printing the path & argv array.
*/
void DEBUG_Exec (char *path, char **argv)
{
if ( CONF_DEBUG )
{
printf("Executing: '%s'\n", path);
printf("Arguments:\n");
if ( argv == NULL )
{
printf(" missing argv\n");
}
else
{
int i = 0;
while (argv[i] != NULL)
{
printf("\t%d: '%s'\n", i, NullCheck(argv[i]));
i++;
}
}
printf("\n");
fflush(stdout);
}
}