nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit a90e6c32400e84aa94c9463823a68a131e2d155e
parent 36536670c8c52c9cc9ab994c233979f97a5d523b
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Mon,  9 Jul 2007 23:24:37 +0000

in do_replace_loop(), fix problem where replacing e.g. single-byte
characters with multibyte ones could result in openfile->totsize's being
miscalculated


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

Diffstat:
MChangeLog | 3+++
Msrc/search.c | 3++-
2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -7,6 +7,9 @@ has_blank_mbchars): Simplify by using for loops instead of while loops where possible, to match the single-byte versions of these functions. + * search.c (do_replace_loop): Fix problem where replacing e.g. + single-byte characters with multibyte ones could result in + openfile->totsize's being miscalculated. 2007-07-06 David Lawrence Ramsey <pooka109@gmail.com> diff --git a/src/search.c b/src/search.c @@ -827,7 +827,8 @@ ssize_t do_replace_loop( openfile->current_x += match_len + length_change - 1; /* Cleanup. */ - openfile->totsize += length_change; + openfile->totsize += mbstrlen(copy) - + mbstrlen(openfile->current->data); free(openfile->current->data); openfile->current->data = copy;