- 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!
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;
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, "")) {