]> git.wh0rd.org Git - nano.git/commitdiff
properly handle invalid tab sizes in nanorc files and make a few more
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 18 Jul 2004 17:43:43 +0000 (17:43 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 18 Jul 2004 17:43:43 +0000 (17:43 +0000)
cosmetic cleanups

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1859 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c
src/rcfile.c

index 7aff832b8d8999444c33ea9748944fd5e3afeaa8..bbfde07ef48310981678e74edb408416cd205e8a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -37,7 +37,8 @@ CVS code -
          while keeping the ability to hold negative numbers in case of
          errors.  Also exit instead of calling usage() in the event of
          an invalid fill value, for consistency with how an invalid
-         tabsize value is handled.
+         tabsize value is handled.  Finally, handle invalid tabsize
+         entries in the rcfile the same way as on the command line.
        - Remove several unnecessary reset_cursor() calls. (David
          Benbennick)
        - Include <sys/types.h> in proto.h. (David Benbennick)  DLR:
index 16fd95ba7a906bea87690af606f5c4fa08a64c08..acce06c036dfdc113ee97a01e0d46412c0f859e7 100644 (file)
@@ -1535,8 +1535,7 @@ int write_file(const char *name, int tmp, int append, int nonamechange)
                utime(backupname, &filetime) == -1) {
            free(backupname);
            if (copy_status == -1)
-               statusbar(_("Error reading %s: %s"), realname,
-                       strerror(errno));
+               statusbar(_("Error reading %s: %s"), realname, strerror(errno));
            else
                statusbar(_("Error writing %s: %s"), backupname,
                        strerror(errno));
@@ -2694,14 +2693,16 @@ char *do_browser(const char *inpath)
             * directory if it is .. or if it is a symlink to 
             * directory outside the operating directory. */
            if (check_operating_dir(filelist[selected], FALSE) != 0) {
-               statusbar(_("Can't go outside of %s in restricted mode"), operating_dir);
+               statusbar(_("Can't go outside of %s in restricted mode"),
+                       operating_dir);
                beep();
                break;
            }
 #endif
 
            if (stat(filelist[selected], &st) == -1) {
-               statusbar(_("Can't open \"%s\": %s"), filelist[selected], strerror(errno));
+               statusbar(_("Can't open \"%s\": %s"), filelist[selected],
+                       strerror(errno));
                beep();
                break;
            }
@@ -2728,7 +2729,8 @@ char *do_browser(const char *inpath)
 
            if (!readable_dir(new_path)) {
                /* We can't open this dir for some reason.  Complain */
-               statusbar(_("Can't open \"%s\": %s"), new_path, strerror(errno));
+               statusbar(_("Can't open \"%s\": %s"), new_path,
+                       strerror(errno));
                free(new_path);
                break;
            }
@@ -2953,8 +2955,7 @@ void load_history(void)
             if (errno != ENOENT) {
                /* Don't save history when we quit. */
                UNSET(HISTORYLOG);
-               rcfile_error(N_("Unable to open ~/.nano_history file: %s"),
-                       strerror(errno));
+               rcfile_error(N_("Unable to open ~/.nano_history file: %s"), strerror(errno));
            }
            free(nanohist);
        } else {
@@ -3003,10 +3004,9 @@ void save_history(void)
 
     if (homenv != NULL || userage != NULL) {
        hist = fopen(nanohist, "wb");
-       if (hist == NULL) {
-           rcfile_error(N_("Unable to write ~/.nano_history file: %s"),
-               strerror(errno));
-       } else {
+       if (hist == NULL)
+           rcfile_error(N_("Unable to write ~/.nano_history file: %s"), strerror(errno));
+       else {
            /* set rw only by owner for security ?? */
            chmod(nanohist, S_IRUSR | S_IWUSR);
            /* write oldest first */
@@ -3014,25 +3014,19 @@ void save_history(void)
                h->data = charealloc(h->data, strlen(h->data) + 2);
                strcat(h->data, "\n");
                if (fputs(h->data, hist) == EOF) {
-                   rcfile_error(
-                       N_("Unable to write ~/.nano_history file: %s"),
-                       strerror(errno));
+                   rcfile_error(N_("Unable to write ~/.nano_history file: %s"), strerror(errno));
                    goto come_from;
                }
            }
            if (fputs("\n", hist) == EOF) {
-                   rcfile_error(
-                       N_("Unable to write ~/.nano_history file: %s"),
-                       strerror(errno));
+                   rcfile_error(N_("Unable to write ~/.nano_history file: %s"), strerror(errno));
                    goto come_from;
            }
            for (h = replace_history.tail; h->prev; h = h->prev) {
                h->data = charealloc(h->data, strlen(h->data) + 2);
                strcat(h->data, "\n");
                if (fputs(h->data, hist) == EOF) {
-                   rcfile_error(
-                       N_("Unable to write ~/.nano_history file: %s"),
-                       strerror(errno));
+                   rcfile_error(N_("Unable to write ~/.nano_history file: %s"), strerror(errno));
                    goto come_from;
                }
            }
index e8ad3071efb73768c048228f24705135b867fcad..5733d9ce33e21907cd30fe94c41795606d5a26c5 100644 (file)
@@ -210,10 +210,10 @@ int colortoint(const char *colorname, int *bright)
        mcolor = COLOR_BLACK;
     else {
        rcfile_error(N_("Color %s not understood.\n"
-                       "Valid colors are \"green\", \"red\", \"blue\", \n"
-                       "\"white\", \"yellow\", \"cyan\", \"magenta\" and \n"
-                       "\"black\", with the optional prefix \"bright\" \n"
-                       "for foreground colors.\n"), colorname);
+               "Valid colors are \"green\", \"red\", \"blue\", \n"
+               "\"white\", \"yellow\", \"cyan\", \"magenta\" and \n"
+               "\"black\", with the optional prefix \"bright\" \n"
+               "for foreground colors.\n"), colorname);
        mcolor = -1;
     }
     return mcolor;
@@ -268,8 +268,7 @@ void parse_syntax(char *ptr)
        return;
 
     if (*ptr != '"') {
-       rcfile_error(
-               N_("Regex strings must begin and end with a \" character\n"));
+       rcfile_error(N_("Regex strings must begin and end with a \" character\n"));
        return;
     }
     ptr++;
@@ -356,8 +355,7 @@ void parse_colors(char *ptr)
        strtok(fgstr, ",");
        bgcolorname = strtok(NULL, ",");
        if (!strncasecmp(bgcolorname, "bright", 6)) {
-           rcfile_error(N_("Background color %s cannot be bright"),
-               bgcolorname);
+           rcfile_error(N_("Background color %s cannot be bright"), bgcolorname);
            return;
        }
        bg = colortoint(bgcolorname, &bright);
@@ -400,8 +398,7 @@ void parse_colors(char *ptr)
        }
 
        if (*ptr != '"') {
-           rcfile_error(
-               N_("Regex strings must begin and end with a \" character\n"));
+           rcfile_error(N_("Regex strings must begin and end with a \" character\n"));
            ptr = parse_next_regex(ptr);
            continue;
        }
@@ -439,16 +436,14 @@ void parse_colors(char *ptr)
 
        if (expectend) {
            if (ptr == NULL || strncasecmp(ptr, "end=", 4)) {
-               rcfile_error(
-                       N_("\"start=\" requires a corresponding \"end=\""));
+               rcfile_error(N_("\"start=\" requires a corresponding \"end=\""));
                return;
            }
 
            ptr += 4;
 
            if (*ptr != '"') {
-               rcfile_error(
-                       N_("Regex strings must begin and end with a \" character\n"));
+               rcfile_error(N_("Regex strings must begin and end with a \" character\n"));
                continue;
            }
            ptr++;
@@ -551,9 +546,7 @@ void parse_rcfile(FILE *rcstream)
 #endif
                                ) {
                            if (*ptr == '\n' || *ptr == '\0') {
-                               rcfile_error(
-                                       N_("Option %s requires an argument"),
-                                       rcopts[i].name);
+                               rcfile_error(N_("Option %s requires an argument"), rcopts[i].name);
                                continue;
                            }
                            option = ptr;
@@ -571,9 +564,7 @@ void parse_rcfile(FILE *rcstream)
 #ifndef DISABLE_WRAPJUSTIFY
                            if (!strcasecmp(rcopts[i].name, "fill")) {
                                if (parse_num(option, &wrap_at) == -1)
-                                   rcfile_error(
-                                       N_("Requested fill size %s invalid"),
-                                       option);
+                                   rcfile_error(N_("Requested fill size %s invalid"), option);
                            } else
 #endif
 #ifndef NANO_SMALL
@@ -582,8 +573,7 @@ void parse_rcfile(FILE *rcstream)
                                whitespace = mallocstrcpy(NULL, option);
                                ws_len = strlen(whitespace);
                                if (ws_len != 2 || (ws_len == 2 && (is_cntrl_char(whitespace[0]) || is_cntrl_char(whitespace[1])))) {
-                                   rcfile_error(
-                                       N_("Two non-control characters required"));
+                                   rcfile_error(N_("Two non-control characters required"));
                                    free(whitespace);
                                    whitespace = NULL;
                                }
@@ -593,16 +583,14 @@ void parse_rcfile(FILE *rcstream)
                            if (!strcasecmp(rcopts[i].name, "punct")) {
                                punct = mallocstrcpy(NULL, option);
                                if (strchr(punct, '\t') != NULL || strchr(punct, ' ') != NULL) {
-                                   rcfile_error(
-                                       N_("Non-tab and non-space characters required"));
+                                   rcfile_error(N_("Non-tab and non-space characters required"));
                                    free(punct);
                                    punct = NULL;
                                }
                            } else if (!strcasecmp(rcopts[i].name, "brackets")) {
                                brackets = mallocstrcpy(NULL, option);
                                if (strchr(brackets, '\t') != NULL || strchr(brackets, ' ') != NULL) {
-                                   rcfile_error(
-                                       N_("Non-tab and non-space characters required"));
+                                   rcfile_error(N_("Non-tab and non-space characters required"));
                                    free(brackets);
                                    brackets = NULL;
                                }
@@ -621,10 +609,9 @@ void parse_rcfile(FILE *rcstream)
                            else
 #endif
                            if (!strcasecmp(rcopts[i].name, "tabsize")) {
-                               if (parse_num(option, &tabsize) == -1)
-                                   rcfile_error(
-                                       N_("Requested tab size %s invalid"),
-                                       option);
+                               if (parse_num(option, &tabsize) == -1 ||
+                                       tabsize <= 0)
+                                   rcfile_error(N_("Requested tab size %s invalid"), option);
                            }
                        } else
                            SET(rcopts[i].flag);
@@ -698,8 +685,7 @@ void do_rcfile(void)
        if ((rcstream = fopen(nanorc, "r")) == NULL) {
            /* Don't complain about the file not existing */
            if (errno != ENOENT) {
-               rcfile_error(N_("Unable to open ~/.nanorc file, %s"),
-                       strerror(errno));
+               rcfile_error(N_("Unable to open ~/.nanorc file: %s"), strerror(errno));
                SET(NO_RCFILE);
            }
        } else {