]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/proxmark3.c
Decreased BigBuff mem, some elf flasher fixes (needs more work) but flashing correctl...
[proxmark3-svn] / client / proxmark3.c
index 3c3b7927a7b11b9c608027baa63074e91c6c3643..2e8ef41820e16da24ffd0c6530f37ada96df0b5d 100644 (file)
@@ -9,7 +9,6 @@
 #include <readline/history.h>
 #include <pthread.h>
 
-#include "translate.h"
 #include "prox.h"
 #include "proxmark3.h"
 #include "proxgui.h"
@@ -27,7 +26,7 @@ static void *usb_receiver(void *targ) {
        UsbCommand cmdbuf;
 
        while(arg->run) {
-               if (ReceiveCommandP(&cmdbuf) > 0) {
+               if (ReceiveCommandPoll(&cmdbuf)) {
                        int i;
 
                        for (i=0; i<strlen(PROXPROMPT); i++)
@@ -45,22 +44,18 @@ static void *usb_receiver(void *targ) {
 static void *main_loop(void *targ)
 {
        struct main_loop_arg *arg = (struct main_loop_arg*)targ;
+       struct usb_receiver_arg rarg;
        char *cmd = NULL;
+       pthread_t reader_thread;
+
+       if (arg->usb_present == 1) {
+               rarg.run=1;
+               pthread_create(&reader_thread, NULL, &usb_receiver, &rarg);
+       }
 
        while(1) {
-               struct usb_receiver_arg rarg;
-               pthread_t reader_thread;
 
-               rarg.run=1;
-               if (arg->usb_present == 1) {
-                       pthread_create(&reader_thread, NULL, &usb_receiver, &rarg);
-               }
                cmd = readline(PROXPROMPT);
-               rarg.run=0;
-               if (arg->usb_present == 1) {
-                       pthread_join(reader_thread, NULL);
-               }
-
                if (cmd) {
                        if (cmd[0] != 0x00) {
                                CommandReceived(cmd);
@@ -72,6 +67,11 @@ static void *main_loop(void *targ)
                        break;
                }
        }
+       
+       if (arg->usb_present == 1) {
+               rarg.run = 0;
+               pthread_join(reader_thread, NULL);
+       }
 
        ExitGraphics();
        pthread_exit(NULL);
Impressum, Datenschutz