From: simon Date: Wed, 1 Nov 2000 19:54:46 +0000 (+0000) Subject: Move dprintf and the debug system out into misc.c, to centralise it. X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/c82bda5269af866d4d6390cbe795a01fd3f9dc75 Move dprintf and the debug system out into misc.c, to centralise it. Saves binary space and also allows redirection of debug statements to a file `debug.log'. git-svn-id: svn://svn.tartarus.org/sgt/putty@791 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/misc.c b/misc.c index 6bb09c53..eb522256 100644 --- a/misc.c +++ b/misc.c @@ -67,3 +67,29 @@ void safefree(void *ptr) { fprintf(fp, "freeing null pointer - no action taken\n"); #endif } + +#ifdef DEBUG +static FILE *debug_fp = NULL; +static int debug_got_console = 0; + +void dprintf(char *fmt, ...) { + char buf[2048]; + DWORD dw; + va_list ap; + + if (!debug_got_console) { + AllocConsole(); + debug_got_console = 1; + } + if (!debug_fp) { + debug_fp = fopen("debug.log", "w"); + } + + va_start(ap, fmt); + vsprintf(buf, fmt, ap); + WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), buf, strlen(buf), &dw, NULL); + fputs(buf, debug_fp); + fflush(debug_fp); + va_end(ap); +} +#endif diff --git a/putty.h b/putty.h index bd867f36..f25930f2 100644 --- a/putty.h +++ b/putty.h @@ -400,28 +400,9 @@ void crypto_wrapup(); void agent_query(void *in, int inlen, void **out, int *outlen); int agent_exists(void); -/* - * A debug system. - */ #ifdef DEBUG -#include +void dprintf(char *fmt, ...); #define debug(x) (dprintf x) -static void dprintf(char *fmt, ...) { - char buf[2048]; - DWORD dw; - va_list ap; - static int gotconsole = 0; - - if (!gotconsole) { - AllocConsole(); - gotconsole = 1; - } - - va_start(ap, fmt); - vsprintf(buf, fmt, ap); - WriteFile (GetStdHandle(STD_OUTPUT_HANDLE), buf, strlen(buf), &dw, NULL); - va_end(ap); -} #else #define debug(x) #endif