Clean up and fix restricted mode for Dumb interface.
authorDavid Griffith <dave@661.org>
Tue, 4 Sep 2018 07:00:06 +0000 (00:00 -0700)
committerDavid Griffith <dave@661.org>
Tue, 4 Sep 2018 07:00:06 +0000 (00:00 -0700)
src/dumb/dumb_input.c

index 674d289c9bf0e60cffbbcae8e1a3012b6f6ed8cb..601c0367f9031947b28ee1ce2a08410bdb06a590 100644 (file)
@@ -423,7 +423,17 @@ int os_read_file_name (char *file_name, const char *default_name, int flag)
     strcpy(file_name, default_name);
     return TRUE;
   } else {
-    sprintf(prompt, "Please enter a filename [%s]: ", default_name);
+    if (f_setup.restricted_path) {
+      for (i = strlen(default_name); i > 0; i--) {
+       if (default_name[i] == PATH_SEPARATOR) {
+         i++;
+         break;
+       }
+      }
+      tempname = strdup(default_name + i);
+      sprintf(prompt, "Please enter a filename [%s]: ", tempname);
+    } else
+      sprintf(prompt, "Please enter a filename [%s]: ", default_name);
     dumb_read_misc_line(buf, prompt);
     if (strlen(buf) > MAX_FILE_NAME) {
       printf("Filename too long\n");