ソースを参照

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
   }

読み込み中…
キャンセル
保存