nano

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

commit 4ab80154e9e69bc8beded06383a916f03b011e43
parent c879f5569190f19164f2631597b05820b1554ce2
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Sun, 31 Jul 2005 18:51:51 +0000

simplify do_cursorpos(), and remove an unneeded assert from it


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

Diffstat:
MChangeLog | 2++
Msrc/winio.c | 18++++++------------
2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -273,6 +273,8 @@ CVS code - that there's more room for other things, and to not display the status when we're in the file browser, since Pico doesn't. (DLR) + do_cursorpos() + - Simplify, and remove unneeded assert. (DLR) - configure.ac: - Since we only use vsnprintf() now, remove the tests for snprintf(). (DLR) diff --git a/src/winio.c b/src/winio.c @@ -3823,25 +3823,19 @@ void display_main_list(void) * display the current cursor position next time. */ void do_cursorpos(bool constant) { - char c; - filestruct *f; - size_t i, cur_xpt = xplustabs() + 1; + size_t i = 0, cur_xpt = xplustabs() + 1; size_t cur_lenpt = strlenpt(openfile->current->data) + 1; int linepct, colpct, charpct; - assert(openfile->current != NULL && openfile->fileage != NULL); + assert(openfile->fileage != NULL && openfile->current != NULL); - c = openfile->current->data[openfile->current_x]; - f = openfile->current->next; - openfile->current->data[openfile->current_x] = '\0'; - openfile->current->next = NULL; - i = get_totsize(openfile->fileage, openfile->current); - openfile->current->data[openfile->current_x] = c; - openfile->current->next = f; + if (openfile->current->prev != NULL) + i += get_totsize(openfile->fileage, openfile->current->prev); + i += mbstrnlen(openfile->current->data, openfile->current_x); /* Check whether totsize is correct. If it isn't, there is a bug * somewhere. */ - assert(openfile->current != openfile->filebot || i == openfile->totsize); + assert(i == openfile->totsize); if (constant && disable_cursorpos) { disable_cursorpos = FALSE;