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:
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;