fix potential segfault when doing a full justify
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2156 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
fc54d6e431
commit
68ebb61fb1
|
@ -62,6 +62,10 @@ CVS code -
|
||||||
do_justify()
|
do_justify()
|
||||||
- For consistency, preserve placewewant if we didn't unjustify
|
- For consistency, preserve placewewant if we didn't unjustify
|
||||||
instead of setting it to 0. (DLR)
|
instead of setting it to 0. (DLR)
|
||||||
|
- When justifying the entire file, properly break out of the
|
||||||
|
loop if there are no more paragraphs after the current one and
|
||||||
|
the paragraph search left us on the magicline, so as to avoid
|
||||||
|
a segfault. (DLR)
|
||||||
- winio.c:
|
- winio.c:
|
||||||
unget_kbinput()
|
unget_kbinput()
|
||||||
- Remove the wide character handling, as it didn't work properly
|
- Remove the wide character handling, as it didn't work properly
|
||||||
|
|
14
src/nano.c
14
src/nano.c
|
@ -2771,15 +2771,15 @@ void do_justify(bool full_justify)
|
||||||
/* Find the first line of the paragraph to be justified. That
|
/* Find the first line of the paragraph to be justified. That
|
||||||
* is the start of this paragraph if we're in one, or the start
|
* is the start of this paragraph if we're in one, or the start
|
||||||
* of the next otherwise. Save the quote length and paragraph
|
* of the next otherwise. Save the quote length and paragraph
|
||||||
* length (number of lines). Don't refresh the screen yet
|
* length (number of lines). Don't refresh the screen yet,
|
||||||
* (since we'll do that after we justify). If the search failed
|
* since we'll do that after we justify. If the search
|
||||||
* and we're justifying the whole file, move the last line of
|
* failed, we're justifying the whole file, and the search
|
||||||
* the text we're justifying to just before the magicline, which
|
* didn't leave us on the last line of the file, set the last
|
||||||
* is where it'll be anyway if we've searched the entire file,
|
* line of the text to be justified to the last line of the file
|
||||||
* and break out of the loop; otherwise, refresh the screen and
|
* and break out of the loop. Otherwise, refresh the screen and
|
||||||
* get out. */
|
* get out. */
|
||||||
if (do_para_search("e_len, &par_len)) {
|
if (do_para_search("e_len, &par_len)) {
|
||||||
if (full_justify) {
|
if (full_justify && current != filebot) {
|
||||||
last_par_line = filebot;
|
last_par_line = filebot;
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue