Skip to content

Commit

Permalink
new_file() and close_open_file() fixes by DLR
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@735 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
  • Loading branch information
Chris Allegretta committed Jul 18, 2001
1 parent 5cce53b commit e642197
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
8 changes: 6 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ CVS code -
main()
- Change the getop option to 'F' (David Lawrence Ramsey)
- files.c:
do_writeout()
- Check for open_files == NULL before using it (Ryan Krebs)
new_file()
- Do add_open_files if there aren't any open yet (David Lawrence
Ramsey).
close_open_file()
- Try to open the next file first, then the previous one
(David Lawrence Ramsey).
- global.c:
shortcut_init()
- Rewrote the whereis and replace lists to put CANCEL at the end
Expand Down
19 changes: 15 additions & 4 deletions files.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,17 @@ void new_file(void)
editbot = fileage;
current = fileage;
totlines = 1;

#ifdef ENABLE_MULTIBUFFER
/* if there aren't any entries in open_files, create the entry for
this new file, and, of course, don't bother checking for
duplicates; without this, if nano is started without a filename on
the command line, a new file with no name will be created, but it
will be given no open_files entry, leading to problems later on */
if (!open_files)
add_open_file(0, 0);
#endif

UNSET(VIEW_MODE);
}

Expand Down Expand Up @@ -730,7 +741,7 @@ int open_nextfile(int closing_file)

/*
* Delete an entry from the open_files filestruct. After deletion of an
* entry, the previous or next entry is opened, whichever is found first.
* entry, the next or previous entry is opened, whichever is found first.
* Return 0 on success or 1 on error.
*/
int close_open_file(void)
Expand All @@ -741,8 +752,8 @@ int close_open_file(void)
return 1;

tmp = open_files;
if (open_prevfile(1)) {
if (open_nextfile(1))
if (open_nextfile(1)) {
if (open_prevfile(1))
return 1;
}

Expand Down Expand Up @@ -1168,7 +1179,7 @@ int do_writeout(char *path, int exiting, int append)
update the filename and full path stored in the
current entry, and then update the current entry,
checking for duplicate entries */
if (open_files != NULL && strcmp(open_files->data, filename)) {
if (strcmp(open_files->data, filename)) {
open_file_change_name();
add_open_file(1, 1);
}
Expand Down

0 comments on commit e642197

Please sign in to comment.