in backup_lines(), avoid a segfault when the mark begins and ends on the
line after the last line of the paragraph git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4099 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
d4cf1fd0ca
commit
ee43ea6a74
|
@ -1,3 +1,8 @@
|
||||||
|
2007-04-22 David Lawrence Ramsey <pooka109@gmail.com>
|
||||||
|
|
||||||
|
* text.c (backup_lines): Avoid a segfault when the mark begins
|
||||||
|
and ends on the line after the last line of the paragraph.
|
||||||
|
|
||||||
2007-04-21 David Lawrence Ramsey <pooka109@gmail.com>
|
2007-04-21 David Lawrence Ramsey <pooka109@gmail.com>
|
||||||
|
|
||||||
* files.c (do_writeout): If we're in restricted mode, we're not
|
* files.c (do_writeout): If we're in restricted mode, we're not
|
||||||
|
|
11
src/text.c
11
src/text.c
|
@ -1212,9 +1212,16 @@ void backup_lines(filestruct *first_line, size_t par_len)
|
||||||
* line, putting first_line, edittop, current, and mark_begin at the
|
* line, putting first_line, edittop, current, and mark_begin at the
|
||||||
* same lines in the copied paragraph that they had in the original
|
* same lines in the copied paragraph that they had in the original
|
||||||
* paragraph. */
|
* paragraph. */
|
||||||
if (openfile->current != openfile->fileage)
|
if (openfile->current != openfile->fileage) {
|
||||||
top = openfile->current->prev;
|
top = openfile->current->prev;
|
||||||
else
|
#ifndef NANO_TINY
|
||||||
|
if (old_mark_set &&
|
||||||
|
openfile->current->lineno == mb_lineno_save) {
|
||||||
|
openfile->mark_begin = openfile->current;
|
||||||
|
openfile->mark_begin_x = mark_begin_x_save;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} else
|
||||||
top = openfile->current;
|
top = openfile->current;
|
||||||
for (i = par_len; i > 0 && top != NULL; i--) {
|
for (i = par_len; i > 0 && top != NULL; i--) {
|
||||||
if (top->lineno == fl_lineno_save)
|
if (top->lineno == fl_lineno_save)
|
||||||
|
|
Loading…
Reference in New Issue