[w3m-dev 03712] buf fix of LINE_INFO

* main.c (curlno): rewrite
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-01-30 16:18:29 +00:00
parent 931a54afec
commit 041c4b06e4
2 changed files with 17 additions and 13 deletions
+6 -1
View File
@@ -1,3 +1,8 @@
2003-01-31 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03712] buf fix of LINE_INFO
* main.c (curlno): rewrite
2003-01-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> 2003-01-30 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03709] Re: view source, edit source * [w3m-dev 03709] Re: view source, edit source
@@ -6947,4 +6952,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1 * release-0-2-1
* import w3m-0.2.1 * import w3m-0.2.1
$Id: ChangeLog,v 1.725 2003/01/29 17:38:12 ukai Exp $ $Id: ChangeLog,v 1.726 2003/01/30 16:18:29 ukai Exp $
+11 -12
View File
@@ -1,4 +1,4 @@
/* $Id: main.c,v 1.204 2003/01/29 17:38:15 ukai Exp $ */ /* $Id: main.c,v 1.205 2003/01/30 16:18:31 ukai Exp $ */
#define MAINPROGRAM #define MAINPROGRAM
#include "fm.h" #include "fm.h"
#include <signal.h> #include <signal.h>
@@ -4779,27 +4779,26 @@ curlno()
{ {
Line *l = Currentbuf->currentLine; Line *l = Currentbuf->currentLine;
Str tmp; Str tmp;
int cur = 0, all, col, len = 0; int cur = 0, all = 0, col = 0, len = 0;
if (l != NULL) { if (l != NULL) {
cur = l->real_linenumber; cur = l->real_linenumber;
col = l->bwidth + Currentbuf->currentColumn + Currentbuf->cursorX + 1;
while (l->next && l->next->bpos)
l = l->next;
if (l->width < 0) if (l->width < 0)
l->width = COLPOS(l, l->len); l->width = COLPOS(l, l->len);
len = l->bwidth + l->width; len = l->bwidth + l->width;
} }
col = l->bwidth + Currentbuf->currentColumn + Currentbuf->cursorX + 1; if (Currentbuf->lastLine)
all = all = Currentbuf->lastLine->real_linenumber;
(Currentbuf->lastLine ? Currentbuf->lastLine->
real_linenumber : Currentbuf->allLine);
if (all == 0 && Currentbuf->lastLine != NULL)
all = l->real_linenumber;
if (all == 0)
all = 1;
if (Currentbuf->pagerSource && !(Currentbuf->bufferprop & BP_CLOSE)) if (Currentbuf->pagerSource && !(Currentbuf->bufferprop & BP_CLOSE))
tmp = Sprintf("line %d col %d/%d", cur, col, len); tmp = Sprintf("line %d col %d/%d", cur, col, len);
else else
tmp = Sprintf("line %d/%d (%d%%) col %d/%d", tmp = Sprintf("line %d/%d (%d%%) col %d/%d", cur, all,
cur, all, cur * 100 / all, col, len); (int)((double)cur * 100.0 / (double)(all ? all : 1)
+ 0.5),
col, len);
#ifdef JP_CHARSET #ifdef JP_CHARSET
Strcat_charp(tmp, " "); Strcat_charp(tmp, " ");
Strcat_charp(tmp, code_to_str(Currentbuf->document_code)); Strcat_charp(tmp, code_to_str(Currentbuf->document_code));