From ccd1b7b50a6a7286c32622296485e173595b4cd5 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 18 Nov 2005 20:21:48 +0000
Subject: [PATCH] miscellaneous minor fixes

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3201 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog     |  7 +++++++
 src/browser.c | 11 ++++++-----
 src/files.c   | 12 ++++++++++--
 src/text.c    |  4 ++--
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0a45e765..b0be5144 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -113,6 +113,13 @@ CVS code -
 	  prompt.  New functions find_statusbar_bracket_match() and
 	  do_statusbar_find_bracket(); changes to do_statusbar_input().
 	  (DLR)
+	- Beep whenever we can't read a file or directory and have to
+	  indicate it on the statusbar, as Pico does.  Changes to
+	  do_browser(), open_file(), and write_file(). (DLR)
+- browser.c:
+  do_browser()
+	- When setting the width of each file, use the "?" operator
+	  instead of an if/else clause. (DLR)
 - chars.c:
   mbwidth()
 	- If wcwidth() returns -1 for the character passed in, treat the
diff --git a/src/browser.c b/src/browser.c
index 66971324..b9667610 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -207,6 +207,8 @@ char *do_browser(char *path, DIR *dir)
 #endif
 
 		if (stat(filelist[selected], &st) == -1) {
+		    /* We can't open this file for some reason.
+		     * Complain. */
 		    statusbar(_("Error reading %s: %s"),
 			filelist[selected], strerror(errno));
 		    beep();
@@ -225,6 +227,7 @@ char *do_browser(char *path, DIR *dir)
 		     * Complain. */
 		    statusbar(_("Error reading %s: %s"),
 			filelist[selected], strerror(errno));
+		    beep();
 		    break;
 		}
 
@@ -284,6 +287,7 @@ char *do_browser(char *path, DIR *dir)
 		     * Complain. */
 		    statusbar(_("Error reading %s: %s"), answer,
 			strerror(errno));
+		    beep();
 		    free(new_path);
 		    break;
 		}
@@ -308,11 +312,8 @@ char *do_browser(char *path, DIR *dir)
 
 	blank_edit();
 
-	if (width != 0)
-	    j = width * editwinrows *
-		((selected / width) / editwinrows);
-	else
-	    j = 0;
+	j = (width != 0) ? width * editwinrows * ((selected / width) /
+		editwinrows) : 0;
 
 	wmove(edit, 0, 0);
 
diff --git a/src/files.c b/src/files.c
index 08596445..6a44508c 100644
--- a/src/files.c
+++ b/src/files.c
@@ -595,6 +595,7 @@ int open_file(const char *filename, bool newfie, FILE **f)
 	    return -2;
 	}
 	statusbar(_("\"%s\" not found"), filename);
+	beep();
 	return -1;
     } else if (S_ISDIR(fileinfo.st_mode) || S_ISCHR(fileinfo.st_mode) ||
 	S_ISBLK(fileinfo.st_mode)) {
@@ -602,9 +603,11 @@ int open_file(const char *filename, bool newfie, FILE **f)
 	statusbar(S_ISDIR(fileinfo.st_mode) ?
 		_("\"%s\" is a directory") :
 		_("File \"%s\" is a device file"), filename);
+	beep();
 	return -1;
     } else if ((fd = open(filename, O_RDONLY)) == -1) {
 	statusbar(_("Error reading %s: %s"), filename, strerror(errno));
+	beep();
  	return -1;
      } else {
 	/* File is A-OK.  Open it in binary mode for our own end-of-line
@@ -614,6 +617,7 @@ int open_file(const char *filename, bool newfie, FILE **f)
 	if (*f == NULL) {
 	    statusbar(_("Error reading %s: %s"), filename,
 		strerror(errno));
+	    beep();
 	    close(fd);
 	} else
 	    statusbar(_("Reading File"));
@@ -1322,6 +1326,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
 	    if (f == NULL) {
 		statusbar(_("Error reading %s: %s"), realname,
 			strerror(errno));
+		beep();
 		goto cleanup_and_exit;
 	    }
 	}
@@ -1401,10 +1406,11 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
 		openfile->current_stat->st_gid) == -1 ||
 		utime(backupname, &filetime) == -1) {
 	    free(backupname);
-	    if (copy_status == -1)
+	    if (copy_status == -1) {
 		statusbar(_("Error reading %s: %s"), realname,
 			strerror(errno));
-	    else
+		beep();
+	    } else
 		statusbar(_("Error writing %s: %s"), backupname,
 			strerror(errno));
 	    goto cleanup_and_exit;
@@ -1455,6 +1461,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
 		if (f_source == NULL) {
 		    statusbar(_("Error reading %s: %s"), realname,
 			strerror(errno));
+		    beep();
 		    close(fd_source);
 		    fclose(f);
 		    unlink(tempname);
@@ -1576,6 +1583,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
 	if (f_source == NULL) {
 	    statusbar(_("Error reading %s: %s"), tempname,
 		strerror(errno));
+	    beep();
 	    fclose(f);
 	    goto cleanup_and_exit;
 	}
diff --git a/src/text.c b/src/text.c
index e91e899a..6ae708f8 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1446,8 +1446,8 @@ void do_justify(bool full_justify)
 	    /* Partition the filestruct so that it contains only the
 	     * text of the justified paragraph. */
 	    filepart = partition_filestruct(first_par_line, 0,
-		last_par_line, (filebot_inpar && last_par_line ==
-		openfile->filebot) ? strlen(last_par_line->data) : 0);
+		last_par_line, filebot_inpar ?
+		strlen(last_par_line->data) : 0);
 
 	    /* Remove the text of the justified paragraph, and
 	     * replace it with the text in the justify buffer. */
-- 
GitLab