in do_writeout(), for consistency, when saving a file with no name,

don't allow overwriting an existing file when in restricted mode


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3937 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2006-11-07 21:22:14 +00:00
parent 4967eb8fc0
commit 8965af5874
2 changed files with 21 additions and 4 deletions

View File

@ -1,6 +1,11 @@
CVS code -
- General:
- Miscellaneous comment fixes. (DLR)
- files.c:
do_writeout()
- For consistency, when saving a file with no name, don't
allow overwriting an existing file when in restricted
mode. (DLR)
GNU nano 2.0.0 - 2006.11.06
- General:

View File

@ -1874,10 +1874,22 @@ int do_writeout(bool exiting)
struct stat st;
if (stat(answer, &st) != -1) {
i = do_yesno_prompt(FALSE,
_("File exists, OVERWRITE ? "));
if (i == 0 || i == -1)
continue;
/* If we're using restricted mode, we aren't allowed
* to save a new file under the name of an existing
* file. In this case, show a "File exists"
* error. */
if (!ISSET(RESTRICTED)) {
i = do_yesno_prompt(FALSE,
_("File exists, OVERWRITE ? "));
if (i == 0 || i == -1)
continue;
} else {
errno = EEXIST;
statusbar(_("Error writing %s: %s"), answer,
strerror(errno));
retval = -1;
break;
}
/* If we're using restricted mode, we aren't allowed to
* change the name of a file once it has one, because
* that would allow reading from or writing to files not