check A tag in HTMLlineproc2body().

This commit is contained in:
Dai Sato
2006-04-08 11:33:16 +00:00
parent 0f51d4c26f
commit a60d99eb7b
4 changed files with 30 additions and 6 deletions
+6 -1
View File
@@ -1,3 +1,8 @@
2006-04-08 Dai Sato <satodai@w3m.jp>
* [w3m-dev 04153] NEXT_LINK error
* anchor.c, filc.c, fm.h: check A tag in HTMLlineproc2body().
2006-04-08 Dai Sato <satodai@w3m.jp> 2006-04-08 Dai Sato <satodai@w3m.jp>
* [w3m-dev 04152] [PATCH] Add more explanation for the usage of the option setting panel. * [w3m-dev 04152] [PATCH] Add more explanation for the usage of the option setting panel.
@@ -8698,4 +8703,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.958 2006/04/08 11:26:22 inu Exp $ $Id: ChangeLog,v 1.959 2006/04/08 11:33:16 inu Exp $
+5 -2
View File
@@ -1,4 +1,4 @@
/* $Id: anchor.c,v 1.32 2006/04/07 13:21:11 inu Exp $ */ /* $Id: anchor.c,v 1.33 2006/04/08 11:33:16 inu Exp $ */
#include "fm.h" #include "fm.h"
#include "myctype.h" #include "myctype.h"
#include "regex.h" #include "regex.h"
@@ -175,6 +175,8 @@ searchAnchor(AnchorList *al, char *str)
return NULL; return NULL;
for (i = 0; i < al->nanchor; i++) { for (i = 0; i < al->nanchor; i++) {
a = &al->anchors[i]; a = &al->anchors[i];
if (a->hseq < 0)
continue;
if (!strcmp(a->url, str)) if (!strcmp(a->url, str))
return a; return a;
} }
@@ -471,6 +473,7 @@ putHmarker(HmarkerList *ml, int line, int pos, int seq)
} }
ml->marks[seq].line = line; ml->marks[seq].line = line;
ml->marks[seq].pos = pos; ml->marks[seq].pos = pos;
ml->marks[seq].invalid = 0;
return ml; return ml;
} }
@@ -778,7 +781,7 @@ link_list_panel(Buffer *buf)
al = buf->href; al = buf->href;
for (i = 0; i < al->nanchor; i++) { for (i = 0; i < al->nanchor; i++) {
a = &al->anchors[i]; a = &al->anchors[i];
if (a->slave) if (a->hseq < 0 || a->slave)
continue; continue;
parseURL2(a->url, &pu, baseURL(buf)); parseURL2(a->url, &pu, baseURL(buf));
p = parsedURL2Str(&pu)->ptr; p = parsedURL2Str(&pu)->ptr;
+17 -2
View File
@@ -1,4 +1,4 @@
/* $Id: file.c,v 1.241 2006/04/07 15:48:56 inu Exp $ */ /* $Id: file.c,v 1.242 2006/04/08 11:33:16 inu Exp $ */
#include "fm.h" #include "fm.h"
#include <sys/types.h> #include <sys/types.h>
#include "myctype.h" #include "myctype.h"
@@ -5285,6 +5285,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
buf->hmarklist = buf->hmarklist =
putHmarker(buf->hmarklist, currentLn(buf), putHmarker(buf->hmarklist, currentLn(buf),
pos, hseq - 1); pos, hseq - 1);
else if (hseq < 0) {
int h = -hseq - 1;
if (buf->hmarklist &&
h < buf->hmarklist->nmark &&
buf->hmarklist->marks[h].invalid) {
buf->hmarklist->marks[h].pos = pos;
buf->hmarklist->marks[h].line = currentLn(buf);
buf->hmarklist->marks[h].invalid = 0;
hseq = -hseq;
}
}
if (id && idFrame) if (id && idFrame)
idFrame->body->nameList = idFrame->body->nameList =
putAnchor(idFrame->body->nameList, id, NULL, putAnchor(idFrame->body->nameList, id, NULL,
@@ -5304,8 +5315,12 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
a_href->end.line = currentLn(buf); a_href->end.line = currentLn(buf);
a_href->end.pos = pos; a_href->end.pos = pos;
if (a_href->start.line == a_href->end.line && if (a_href->start.line == a_href->end.line &&
a_href->start.pos == a_href->end.pos) a_href->start.pos == a_href->end.pos) {
if (buf->hmarklist &&
a_href->hseq < buf->hmarklist->nmark)
buf->hmarklist->marks[a_href->hseq].invalid = 1;
a_href->hseq = -1; a_href->hseq = -1;
}
a_href = NULL; a_href = NULL;
} }
break; break;
+2 -1
View File
@@ -1,4 +1,4 @@
/* $Id: fm.h,v 1.130 2006/04/07 15:48:56 inu Exp $ */ /* $Id: fm.h,v 1.131 2006/04/08 11:33:16 inu Exp $ */
/* /*
* w3m: WWW wo Miru utility * w3m: WWW wo Miru utility
* *
@@ -336,6 +336,7 @@ typedef struct _Line {
typedef struct { typedef struct {
int line; int line;
int pos; int pos;
int invalid;
} BufferPoint; } BufferPoint;
#ifdef USE_IMAGE #ifdef USE_IMAGE