]> git.wh0rd.org Git - nano.git/commitdiff
Warning about an impossible condition, instead of blithely continuing.
authorBenno Schulenberg <bensberg@justemail.net>
Thu, 26 Nov 2015 09:31:33 +0000 (09:31 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Thu, 26 Nov 2015 09:31:33 +0000 (09:31 +0000)
And eliding an unneeded variable.

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

ChangeLog
src/text.c

index 4d847df16c0d154f5de389e73570b005f247faa7..d34219b016988a5524c41eabad641c555b793df9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2015-11-26  Benno Schulenberg  <bensberg@justemail.net>
        * src/text.c (do_redo): Not just the undoing, also the redoing of a
        Backspace at EOF is a special case.  This fixes Savannah bug #46532.
+       * src/text.c (do_redo): Warn about an impossible condition, instead
+       of blithely continuing.  And elide an unneeded variable.
 
 2015-11-25  Benno Schulenberg  <bensberg@justemail.net>
        * src/nano.c (do_output): Refreshing the whole edit window (instead
index 20c98287645886ec40367581603f5700e337a935..c0bcc35ba4af667790be5e6698738ac4b205b977 100644 (file)
@@ -699,6 +699,10 @@ void do_redo(void)
        break;
 #endif
     case JOIN:
+       if (f->next == NULL) {
+           statusbar(_("Internal error: line is missing.  Please save your work."));
+           break;
+       }
        redidmsg = _("line join");
        /* When the join was done by a Backspace at the tail of the file,
         * and the nonewlines flag isn't set, do not join anything, as
@@ -709,12 +713,9 @@ void do_redo(void)
        }
        f->data = charealloc(f->data, strlen(f->data) + strlen(u->strdata) + 1);
        strcat(f->data, u->strdata);
-       if (f->next != NULL) {
-           filestruct *tmp = f->next;
-           if (tmp == openfile->filebot)
-               openfile->filebot = f;
-           unlink_node(tmp);
-       }
+       if (f->next == openfile->filebot)
+           openfile->filebot = f;
+       unlink_node(f->next);
        renumber(f);
        goto_line_posx(u->mark_begin_lineno, u->mark_begin_x);
        break;