commit fe3d849a75c900184dc751b8205e2d0b5eff2e03
parent a91a1c7bbd3b3b6b881b6cddfc54f0f82d9de7a9
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 20 Jan 2016 15:56:40 +0000
Getting rid of a global variable.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5574 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
4 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,5 +1,6 @@
2016-01-20 Benno Schulenberg <bensberg@justemail.net>
* src/files.c (open_buffer): Readjust the indentation and a comment.
+ * src/files.c (has_valid_path): Get rid of a global variable.
2016-01-20 Rishabh Dave <rishabhddave@gmail.com>
* src/files.c (verify_path, open_buffer): When opening a new buffer,
diff --git a/src/files.c b/src/files.c
@@ -33,27 +33,26 @@
#include <pwd.h>
#include <libgen.h>
-/* Determine whether the containing directory of the given filename exists.
- * Pass the result back in the global variable valid_path. */
-void verify_path(const char *filename)
+/* Verify that the containing directory of the given filename exists. */
+bool has_valid_path(const char *filename)
{
char *parentdir;
struct stat parentinfo;
+ bool validity = TRUE;
if (strrchr(filename, '/') == NULL)
parentdir = mallocstrcpy(NULL, ".");
else
parentdir = dirname(mallocstrcpy(NULL, filename));
- if (stat(parentdir, &parentinfo) != -1 && S_ISDIR(parentinfo.st_mode))
- valid_path = TRUE;
- else {
+ if (stat(parentdir, &parentinfo) == -1 || !S_ISDIR(parentinfo.st_mode)) {
statusbar(_("Directory '%s' does not exist"), parentdir);
- valid_path = FALSE;
+ validity = FALSE;
beep();
}
free(parentdir);
+ return validity;
}
/* Add an entry to the openfile openfilestruct. This should only be
@@ -135,7 +134,7 @@ void set_modified(void)
titlebar(NULL);
#ifndef NANO_TINY
- if (!ISSET(LOCKING) || openfile->filename[0] == '\0' || !valid_path)
+ if (!ISSET(LOCKING) || openfile->filename[0] == '\0')
return;
if (openfile->lock_filename == NULL) {
@@ -404,10 +403,10 @@ bool open_buffer(const char *filename, bool undoable)
if (new_buffer) {
make_new_buffer();
- verify_path(filename);
-
+ if (!has_valid_path(filename))
+ quiet = TRUE;
#ifndef NANO_TINY
- if (valid_path) {
+ else {
if (ISSET(LOCKING) && filename[0] != '\0') {
int lockstatus = do_lockfile(filename);
if (lockstatus < 0) {
@@ -977,7 +976,7 @@ int open_file(const char *filename, bool newfie, bool quiet, FILE **f)
}
if (newfie) {
- if (!quiet && valid_path)
+ if (!quiet)
statusbar(_("New File"));
return -2;
}
diff --git a/src/global.c b/src/global.c
@@ -40,8 +40,6 @@ bool func_key;
/* Whether the current keystroke is an extended keypad value. */
bool focusing = FALSE;
/* Whether an update of the edit window should center the cursor. */
-bool valid_path;
- /* Whether the containing directory of a specified file exists. */
#ifndef NANO_TINY
int controlleft = CONTROL_LEFT;
diff --git a/src/proto.h b/src/proto.h
@@ -34,7 +34,6 @@ extern volatile sig_atomic_t sigwinch_counter;
extern bool meta_key;
extern bool func_key;
extern bool focusing;
-extern bool valid_path;
#ifndef NANO_TINY
extern int controlleft;