comparison dbutil.c @ 1898:3f87f7ff1092

Fix building with DEBUG_TRACE = 0 Also try a less repetitive way of specifying macros
author Matt Johnston <matt@ucc.asn.au>
date Tue, 22 Mar 2022 23:29:38 +0800
parents 180e580778df
children 9382271da9ef
comparison
equal deleted inserted replaced
1897:fe68c0244b97 1898:3f87f7ff1092
185 return nowf - debug_start_time; 185 return nowf - debug_start_time;
186 } 186 }
187 187
188 static void dropbear_tracelevel(int level, const char *format, va_list param) 188 static void dropbear_tracelevel(int level, const char *format, va_list param)
189 { 189 {
190 if (debug_trace==0 || debug_trace < level) { 190 if (debug_trace == 0 || debug_trace < level) {
191 return; 191 return;
192 } 192 }
193 193
194 fprintf(stderr, "TRACE%d (%d) %f: ", level, getpid(), time_since_start()); 194 fprintf(stderr, "TRACE%d (%d) %f: ", level, getpid(), time_since_start());
195 vfprintf(stderr, format, param); 195 vfprintf(stderr, format, param);
196 fprintf(stderr, "\n"); 196 fprintf(stderr, "\n");
197 } 197 }
198 #if (DEBUG_TRACE>=1)
198 void dropbear_trace1(const char* format, ...) { 199 void dropbear_trace1(const char* format, ...) {
199 va_list param; 200 va_list param;
200 201
201 va_start(param, format); 202 va_start(param, format);
202 dropbear_tracelevel(1,format, param); 203 dropbear_tracelevel(1, format, param);
203 va_end(param); 204 va_end(param);
204 } 205 }
205 #if (DEBUG_TRACE>1) 206 #endif
207 #if (DEBUG_TRACE>=2)
206 void dropbear_trace2(const char* format, ...) { 208 void dropbear_trace2(const char* format, ...) {
207 va_list param; 209 va_list param;
208 210
209 va_start(param, format); 211 va_start(param, format);
210 dropbear_tracelevel(2,format,param); 212 dropbear_tracelevel(2, format, param);
211 va_end(param); 213 va_end(param);
212 } 214 }
213 #endif 215 #endif
214 #if (DEBUG_TRACE>2) 216 #if (DEBUG_TRACE>=3)
215 void dropbear_trace3(const char* format, ...) { 217 void dropbear_trace3(const char* format, ...) {
216 va_list param; 218 va_list param;
217 219
218 va_start(param, format); 220 va_start(param, format);
219 dropbear_tracelevel(3,format,param); 221 dropbear_tracelevel(3, format, param);
220 va_end(param); 222 va_end(param);
221 } 223 }
222 #endif 224 #endif
223 #if (DEBUG_TRACE>3) 225 #if (DEBUG_TRACE>=4)
224 void dropbear_trace4(const char* format, ...) { 226 void dropbear_trace4(const char* format, ...) {
225 va_list param; 227 va_list param;
226 228
227 va_start(param, format); 229 va_start(param, format);
228 dropbear_tracelevel(4,format,param); 230 dropbear_tracelevel(4, format, param);
229 va_end(param); 231 va_end(param);
230 } 232 }
231 #endif 233 #endif
232 #if (DEBUG_TRACE>4) 234 #if (DEBUG_TRACE>=5)
233 void dropbear_trace5(const char* format, ...) { 235 void dropbear_trace5(const char* format, ...) {
234 static int trace_env = -1;
235 va_list param; 236 va_list param;
236 237
237 if (trace_env == -1) {
238 trace_env = getenv("DROPBEAR_TRACE2") ? 1 : 0;
239 }
240
241 if (!(debug_trace && trace_env)) {
242 return;
243 }
244
245 va_start(param, format); 238 va_start(param, format);
246 dropbear_tracelevel(5,format,param); 239 dropbear_tracelevel(5, format, param);
247 va_end(param); 240 va_end(param);
248 } 241 }
249 #endif 242 #endif
250 #endif 243 #endif
251 244