improved handling of command parameters when auto-processing tapes
[rocksndiamonds.git] / src / init.c
index 6ccc8822c02361fb4c4d51c5e74206857ee1e3c3..0a44e0e5436906ad45913498a50d3a487f3545b5 100644 (file)
@@ -5068,15 +5068,18 @@ static void Execute_Command(char *command)
           strPrefix(command, "autoffwd ") ||
           strPrefix(command, "autowarp ") ||
           strPrefix(command, "autotest ") ||
+          strPrefix(command, "autosave ") ||
           strPrefix(command, "autofix "))
   {
-    char *str_ptr = getStringCopy(&command[8]);        // read command parameters
+    char *arg_ptr = strchr(command, ' ');
+    char *str_ptr = getStringCopy(arg_ptr);    // read command parameters
 
     global.autoplay_mode =
       (strPrefix(command, "autoplay") ? AUTOPLAY_MODE_PLAY :
        strPrefix(command, "autoffwd") ? AUTOPLAY_MODE_FFWD :
        strPrefix(command, "autowarp") ? AUTOPLAY_MODE_WARP :
        strPrefix(command, "autotest") ? AUTOPLAY_MODE_TEST :
+       strPrefix(command, "autosave") ? AUTOPLAY_MODE_SAVE :
        strPrefix(command, "autofix")  ? AUTOPLAY_MODE_FIX :
        AUTOPLAY_MODE_NONE);