txcmd_pending = false;
                }
        }
-
        pthread_exit(NULL);
        return NULL;
 }
        char *cmd = NULL;
        pthread_t reader_thread;
   
- 
        if (arg->usb_present == 1) {
                rarg.run = 1;
                pthread_create(&reader_thread, NULL, &uart_receiver, &rarg);
                // 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);
        
        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;