瀏覽代碼

Fix macros that call macros crashing (#21383)

When macros call macros, the null termination should remain in place until the macro is completed, and only then put back. Otherwise, the macro handler interprets this as setting the macro called to a new value.
mihtjel 4 年之前
父節點
當前提交
50a6ffa952
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 1 行新增1 行删除
  1. 1
    1
      Marlin/src/gcode/gcode.cpp

+ 1
- 1
Marlin/src/gcode/gcode.cpp 查看文件

@@ -1048,8 +1048,8 @@ void GcodeSuite::process_subcommands_now(char * gcode) {
1048 1048
     char * const delim = strchr(gcode, '\n');         // Get address of next newline
1049 1049
     if (delim) *delim = '\0';                         // Replace with nul
1050 1050
     parser.parse(gcode);                              // Parse the current command
1051
-    if (delim) *delim = '\n';                         // Put back the newline
1052 1051
     process_parsed_command(true);                     // Process it
1052
+    if (delim) *delim = '\n';                         // Put back the newline
1053 1053
     if (!delim) break;                                // Last command?
1054 1054
     gcode = delim + 1;                                // Get the next command
1055 1055
   }

Loading…
取消
儲存