diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index 4d7d107ebd..4b974113fb 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -216,13 +216,12 @@ bool GCodeQueue::process_injected_command() { gcode.process_parsed_command(); } - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wrestrict" - // Copy the next command into place - strcpy(injected_commands, &injected_commands[i + (c != '\0')]); - - #pragma GCC diagnostic pop + for ( + uint8_t d = 0, s = i + !!c; // dst, src + (injected_commands[d] = injected_commands[s]); // copy, exit if 0 + d++, s++ // next dst, src + ); return true; }