From ed77aabe00d1453217b16f2d3cc4711d0981fb93 Mon Sep 17 00:00:00 2001 From: "martin.holst@gmail.com" Date: Tue, 8 Oct 2013 18:30:01 +0000 Subject: [PATCH] Patch from 'buzzy' to add automatic flushing of output, see http://www.proxmark.org/forum/viewtopic.php?id=1740 for more details. --- client/proxmark3.c | 12 +++++++++++- client/ui.c | 6 +++++- client/ui.h | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/client/proxmark3.c b/client/proxmark3.c index 59736ce73..2fefc890f 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -243,9 +243,19 @@ int main(int argc, char* argv[]) { // If the user passed the filename of the 'script' to execute, get it if (argc > 2 && argv[2]) { + if (argv[2][0] == 'f' && //buzzy, if a word 'flush' passed, flush the output after every log entry. + argv[2][1] == 'l' && + argv[2][2] == 'u' && + argv[2][3] == 's' && + argv[2][4] == 'h') + { + printf("Output will be flushed after every print.\n"); + flushAfterWrite = 1; + } + else marg.script_cmds_file = argv[2]; } - + // create a mutex to avoid interlacing print commands from our different threads pthread_mutex_init(&print_lock, NULL); diff --git a/client/ui.c b/client/ui.c index 5fe58dc2d..c0d01bc32 100644 --- a/client/ui.c +++ b/client/ui.c @@ -21,7 +21,7 @@ double CursorScaleFactor; int PlotGridX, PlotGridY, PlotGridXdefault= 64, PlotGridYdefault= 64; int offline; - +int flushAfterWrite = 0; //buzzy extern pthread_mutex_t print_lock; static char *logfilename = "proxmark3.log"; @@ -77,6 +77,10 @@ void PrintAndLog(char *fmt, ...) } va_end(argptr2); + if (flushAfterWrite == 1) //buzzy + { + fflush(NULL); + } //release lock pthread_mutex_unlock(&print_lock); } diff --git a/client/ui.h b/client/ui.h index 3a6d385ed..a45799d5c 100644 --- a/client/ui.h +++ b/client/ui.h @@ -21,5 +21,6 @@ void SetLogFilename(char *fn); extern double CursorScaleFactor; extern int PlotGridX, PlotGridY, PlotGridXdefault, PlotGridYdefault; extern int offline; +extern int flushAfterWrite; //buzzy #endif