]> git.wh0rd.org Git - nano.git/commitdiff
Fix segfault when read_file encounters an error opening the file
authorChris Allegretta <chrisa@asty.org>
Mon, 18 Dec 2000 01:09:07 +0000 (01:09 +0000)
committerChris Allegretta <chrisa@asty.org>
Mon, 18 Dec 2000 01:09:07 +0000 (01:09 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@410 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
files.c

index 41bb6ff6b8c8642652f83497789d9f6655255fcf..68de2c2ad176aed5055c920f3a89fc154233eeed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,9 @@ General
        - Fix magic line not getting created when (you guessed it)
          uncutting marked text at filebot (Ryan Krebs).
 - files.c:
+  read_file()
+       - If we encounter an error and insert is not set, run new_file().
+         (bug discovered by Ben Roberts).
   write_file()
        - Change open call flags, basically copy joe's way of doing it so
          a more recent version will actually be included in (un)stable.
diff --git a/files.c b/files.c
index 18f65211e5e7a6b17a63004b76f10f42ddd23642..c39a482adea159679439dce7fa43b01231599160 100644 (file)
--- a/files.c
+++ b/files.c
@@ -227,6 +227,8 @@ int open_file(char *filename, int insert, int quiet)
     } else if ((fd = open(filename, O_RDONLY)) == -1) {
        if (!quiet)
            statusbar("%s: %s", strerror(errno), filename);
+       if (!insert)
+           new_file();
        return -1;
     } else {                   /* File is A-OK */
        if (S_ISDIR(fileinfo.st_mode) || S_ISCHR(fileinfo.st_mode) ||