X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/aacb96d7ed1723663fddd4e2611c22c971442cbd..efbf81da52dad2507cca6062d44272c397f93e4a:/client/proxmark3.c diff --git a/client/proxmark3.c b/client/proxmark3.c index 70e09ada..14674016 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -54,17 +54,27 @@ void SendCommand(UsbCommand *c) { } struct receiver_arg { - int run; + int run; }; struct main_loop_arg { - int usb_present; - char *script_cmds_file; + int usb_present; + char *script_cmds_file; }; byte_t rx[0x1000000]; byte_t* prx = rx; +// static void showBanner(void){ + // printf("██████╗ ███╗ ███╗ ████╗ ...Iceman fork\n"); + // printf("██╔══██╗████╗ ████║ ══█║\n"); + // printf("██████╔╝██╔████╔██║ ████╔╝\n"); + // printf("██╔═══╝ ██║╚██╔╝██║ ══█║ iceman@icesql.net\n"); + // printf("██║ ██║ ╚═╝ ██║ ████╔╝ https://github.com/iceman1001/proxmark3\n"); + // printf("╚═╝ ╚═╝ ╚═╝ ╚═══╝v1.6.4\n"); +// } + + static void *uart_receiver(void *targ) { struct receiver_arg *arg = (struct receiver_arg*)targ; size_t rxlen; @@ -94,7 +104,6 @@ static void *uart_receiver(void *targ) { txcmd_pending = false; } } - pthread_exit(NULL); return NULL; } @@ -154,10 +163,13 @@ static void *main_loop(void *targ) { cmd = readline(PROXPROMPT); } + // this one should pick up all non-null cmd... + // why is there a if (cmd) { - - while(cmd[strlen(cmd) - 1] == ' ') - cmd[strlen(cmd) - 1] = 0x00; + if (strlen(cmd) > 0) { + while(cmd[strlen(cmd) - 1] == ' ') + cmd[strlen(cmd) - 1] = 0x00; + } if (cmd[0] != 0x00) { int ret = CommandReceived(cmd); @@ -167,11 +179,12 @@ static void *main_loop(void *targ) { if (ret == 99) break; } + free(cmd); + cmd = 0; } else { printf("\n"); break; } - free(cmd); } if (script_file) { @@ -182,6 +195,7 @@ static void *main_loop(void *targ) { write_history(".history"); free(cmd); + cmd = 0; if (arg->usb_present == 1) { rarg.run = 0; @@ -233,8 +247,7 @@ int main(int argc, char* argv[]) { pthread_t main_loop_threat; - - sp = uart_open(argv[1]); + sp = uart_open(argv[1]); if (sp == INVALID_SERIAL_PORT) { printf("ERROR: invalid serial port\n"); marg.usb_present = 0;