X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/ab4da50d99bb4334b86ff9bc8c5795723df37966..ba8b5c173b20a92036384e114f9b5827de7596dc:/client/proxmark3.c diff --git a/client/proxmark3.c b/client/proxmark3.c index db37780d..ef3d33e8 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -21,8 +21,8 @@ #include "proxgui.h" #include "cmdmain.h" #include "uart.h" -#include "messages.h" #include "ui.h" +#include "sleep.h" static serial_port sp; static UsbCommand txcmd; @@ -144,7 +144,7 @@ static void *main_loop(void *targ) { nl = strrchr(script_cmd_buf, '\n'); if (nl) *nl = '\0'; - if ((cmd = (char*) malloc(strlen(script_cmd_buf))) != NULL) + if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) { memset(cmd, 0, strlen(script_cmd_buf)); strcpy(cmd, script_cmd_buf); @@ -197,9 +197,10 @@ static void *main_loop(void *targ) { int main(int argc, char* argv[]) { srand(time(0)); - + if (argc < 2) { printf("syntax: %s \n\n",argv[0]); + printf("\tLinux example:'%s /dev/ttyACM0'\n\n", argv[0]); return 1; } @@ -221,11 +222,16 @@ int main(int argc, char* argv[]) { offline = 0; } */ + sp = uart_open(argv[1]); if (sp == INVALID_SERIAL_PORT) { printf("ERROR: invalid serial port\n"); marg.usb_present = 0; offline = 1; + } else if (sp == CLAIMED_SERIAL_PORT) { + printf("ERROR: serial port is claimed by another process\n"); + marg.usb_present = 0; + offline = 1; } else { marg.usb_present = 1; offline = 0;