diff --git a/client/src/cmdlfem4x50.c b/client/src/cmdlfem4x50.c index d25148b0b..46230bafd 100644 --- a/client/src/cmdlfem4x50.c +++ b/client/src/cmdlfem4x50.c @@ -1195,7 +1195,7 @@ int CmdEM4x50Sim(const char *Cmd) { } } while (keypress == false); - + if (keypress) { SendCommandNG(CMD_BREAK_LOOP, NULL, 0); status = PM3_EOPABORTED; diff --git a/client/src/cmdparser.c b/client/src/cmdparser.c index 653aaba55..23ca61ba5 100644 --- a/client/src/cmdparser.c +++ b/client/src/cmdparser.c @@ -244,12 +244,14 @@ int CmdsParse(const command_t Commands[], const char *Cmd) { int tmplen = len; while (Cmd[tmplen] == ' ') ++tmplen; - bool request_help = (strcmp(Cmd+tmplen, "-h") == 0) || (strcmp(Cmd+tmplen, "--help") == 0); + bool request_help = (strcmp(Cmd + tmplen, "-h") == 0) || (strcmp(Cmd + tmplen, "--help") == 0); int i = 0; while (Commands[i].Name) { if (0 == strcmp(Commands[i].Name, cmd_name)) { - if (request_help || Commands[i].IsAvailable()) { + if ((Commands[i].Help[0] == '{') || // always allow parsing categories + request_help || // always allow requesting help + Commands[i].IsAvailable()) { break; } else { PrintAndLogEx(WARNING, "This command is " _YELLOW_("not available") " in this mode");