Removed unneeded st2 var, don't open device files in open_file()


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@407 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
diff --git a/ChangeLog b/ChangeLog
index b3bca48..0dbd235 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,8 @@
 	- Change open call flags, basically copy joe's way of doing it so
 	  a more recent version will actually be included in (un)stable.
 	- Remove useless fstat call.
+  open_file()
+	- Added check for S_ISBLK and S_ISCHR, don't open device files!
 - nano.c:
   renumber()
 	- Dont stupidly assign the value of prev->lineno if prev == NULL!
diff --git a/files.c b/files.c
index fedba88..aa797e1 100644
--- a/files.c
+++ b/files.c
@@ -229,8 +229,14 @@
 	    statusbar("%s: %s", strerror(errno), filename);
 	return -1;
     } else {			/* File is A-OK */
-	if (S_ISDIR(fileinfo.st_mode)) {
-	    statusbar(_("File \"%s\" is a directory"), filename);
+	if (S_ISDIR(fileinfo.st_mode) || S_ISCHR(fileinfo.st_mode) || 
+		S_ISBLK(fileinfo.st_mode)) {
+	    if (S_ISDIR(fileinfo.st_mode))
+		statusbar(_("File \"%s\" is a directory"), filename);
+	    else
+		/* Don't open character or block files.  Sorry, /dev/sndstat! */
+		statusbar(_("File \"%s\" is a device file"), filename);
+
 	    if (!insert)
 		new_file();
 	    return -1;
@@ -303,7 +309,7 @@
     char buf[PATH_MAX + 1];
     filestruct *fileptr;
     int fd, mask = 0, realexists, anyexists;
-    struct stat st, lst, st2;
+    struct stat st, lst;
     static char *realname = NULL;
 
     if (!strcmp(name, "")) {