diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index ed3b244087..1d8224047a 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -5254,12 +5254,13 @@ void process_next_command() { // Sanitize the current command: // - Skip leading spaces - // - Bypass N... + // - Bypass N[0-9][0-9]*[ ]* // - Overwrite * with nul to mark the end while (*current_command == ' ') ++current_command; if (*current_command == 'N' && current_command[1] >= '0' && current_command[1] <= '9') { - while (*current_command != ' ' && *current_command != 'G' && *current_command != 'M' && *current_command != 'T') ++current_command; - while (*current_command == ' ') ++current_command; + current_command += 2; // skip N[0-9] + while (*current_command >= '0' && *current_command <= '9') ++current_command; // skip [0-9]* + while (*current_command == ' ') ++current_command; // skip [ ]* } char *starpos = strchr(current_command, '*'); // * should always be the last parameter if (starpos) *starpos = '\0';