summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2022-03-22 23:29:38 +0800
committerMatt Johnston <matt@ucc.asn.au>2022-03-22 23:29:38 +0800
commit96612051a1dc779a7fe37ed63acfbe15b0620e93 (patch)
tree2ed06a2f1f4de924ffab8332e526de8cf9245d3a
parentb794c37de4b69c0252f21b196acc18c9f96f0b00 (diff)
downloaddropbear-96612051a1dc779a7fe37ed63acfbe15b0620e93.tar.gz
Fix building with DEBUG_TRACE = 0
Also try a less repetitive way of specifying macros
-rw-r--r--dbutil.c31
-rw-r--r--debug.h45
2 files changed, 33 insertions, 43 deletions
diff --git a/dbutil.c b/dbutil.c
index 4b0c63e..1bd753c 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -187,7 +187,7 @@ static double time_since_start()
static void dropbear_tracelevel(int level, const char *format, va_list param)
{
- if (debug_trace==0 || debug_trace < level) {
+ if (debug_trace == 0 || debug_trace < level) {
return;
}
@@ -195,55 +195,48 @@ static void dropbear_tracelevel(int level, const char *format, va_list param)
vfprintf(stderr, format, param);
fprintf(stderr, "\n");
}
+#if (DEBUG_TRACE>=1)
void dropbear_trace1(const char* format, ...) {
va_list param;
va_start(param, format);
- dropbear_tracelevel(1,format, param);
+ dropbear_tracelevel(1, format, param);
va_end(param);
}
-#if (DEBUG_TRACE>1)
+#endif
+#if (DEBUG_TRACE>=2)
void dropbear_trace2(const char* format, ...) {
va_list param;
va_start(param, format);
- dropbear_tracelevel(2,format,param);
+ dropbear_tracelevel(2, format, param);
va_end(param);
}
#endif
-#if (DEBUG_TRACE>2)
+#if (DEBUG_TRACE>=3)
void dropbear_trace3(const char* format, ...) {
va_list param;
va_start(param, format);
- dropbear_tracelevel(3,format,param);
+ dropbear_tracelevel(3, format, param);
va_end(param);
}
#endif
-#if (DEBUG_TRACE>3)
+#if (DEBUG_TRACE>=4)
void dropbear_trace4(const char* format, ...) {
va_list param;
va_start(param, format);
- dropbear_tracelevel(4,format,param);
+ dropbear_tracelevel(4, format, param);
va_end(param);
}
#endif
-#if (DEBUG_TRACE>4)
+#if (DEBUG_TRACE>=5)
void dropbear_trace5(const char* format, ...) {
- static int trace_env = -1;
va_list param;
- if (trace_env == -1) {
- trace_env = getenv("DROPBEAR_TRACE2") ? 1 : 0;
- }
-
- if (!(debug_trace && trace_env)) {
- return;
- }
-
va_start(param, format);
- dropbear_tracelevel(5,format,param);
+ dropbear_tracelevel(5, format, param);
va_end(param);
}
#endif
diff --git a/debug.h b/debug.h
index 19833ca..fcc0367 100644
--- a/debug.h
+++ b/debug.h
@@ -53,37 +53,34 @@
extern int debug_trace;
#endif
-/* you don't need to touch this block */
-/* enable debug trace levels */
-#if (DEBUG_TRACE==1)
-#define DEBUG1(X) dropbear_trace1 X;
+/* Enable debug trace levels.
+ We can't use __VA_ARGS_ here because Dropbear supports
+ old ~C89 compilers */
+/* Default is to discard output ... */
+#define DEBUG1(X)
#define DEBUG2(X)
#define DEBUG3(X)
#define TRACE(X)
#define TRACE2(X)
-#elif (DEBUG_TRACE==2)
-#define DEBUG1(X) dropbear_trace1 X;
-#define DEBUG2(X) dropbear_trace2 X;
-#define DEBUG3(X)
-#define TRACE(X)
-#define TRACE2(X)
-#elif (DEBUG_TRACE==3)
-#define DEBUG1(X) dropbear_trace1 X;
-#define DEBUG2(X) dropbear_trace2 X;
-#define DEBUG3(X) dropbear_trace3 X;
-#define TRACE(X)
-#define TRACE2(X)
-#elif (DEBUG_TRACE==4)
-#define DEBUG1(X) dropbear_trace1 X;
-#define DEBUG2(X) dropbear_trace2 X;
-#define DEBUG3(X) dropbear_trace3 X;
-#define TRACE(X) dropbear_trace4 X;
-#define TRACE2(X)
-#elif (DEBUG_TRACE==5)
+/* ... unless DEBUG_TRACE is high enough */
+#if (DEBUG_TRACE>=1)
+#undef DEBUG1
#define DEBUG1(X) dropbear_trace1 X;
+#endif
+#if (DEBUG_TRACE>=2)
+#undef DEBUG2
#define DEBUG2(X) dropbear_trace2 X;
+#endif
+#if (DEBUG_TRACE>=3)
+#undef DEBUG3
#define DEBUG3(X) dropbear_trace3 X;
-#define TRACE(X) dropbear_trace4 X;
+#endif
+#if (DEBUG_TRACE>=4)
+#undef TRACE
+#define TRACE(X) dropbear_trace4 X;
+#endif
+#if (DEBUG_TRACE>=5)
+#undef TRACE2
#define TRACE2(X) dropbear_trace5 X;
#endif