[w3m-dev 03729] buf fix of reAnchorNewsheader()
* anchor.c (reAnchorAny): check l->bpos (reAnchorNewsheader): check l->bpos strlen(*q) lineBuf[l->size] From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,11 @@
|
||||
2003-02-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||
|
||||
* [w3m-dev 03729] buf fix of reAnchorNewsheader()
|
||||
* anchor.c (reAnchorAny): check l->bpos
|
||||
(reAnchorNewsheader): check l->bpos
|
||||
strlen(*q)
|
||||
lineBuf[l->size]
|
||||
|
||||
2003-02-06 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||
|
||||
* [w3m-dev 03728] IPv6 hostname
|
||||
@@ -7019,4 +7027,4 @@ a * [w3m-dev 03276] compile error on EWS4800
|
||||
* release-0-2-1
|
||||
* import w3m-0.2.1
|
||||
|
||||
$Id: ChangeLog,v 1.736 2003/02/05 16:18:23 ukai Exp $
|
||||
$Id: ChangeLog,v 1.737 2003/02/05 16:23:27 ukai Exp $
|
||||
|
12
anchor.c
12
anchor.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: anchor.c,v 1.21 2003/01/23 18:37:20 ukai Exp $ */
|
||||
/* $Id: anchor.c,v 1.22 2003/02/05 16:23:28 ukai Exp $ */
|
||||
#include "fm.h"
|
||||
#include "myctype.h"
|
||||
#include "regex.h"
|
||||
@@ -339,7 +339,7 @@ reAnchorAny(Buffer *buf, char *re,
|
||||
Anchor *(*anchorproc) (Buffer *, char *, char *, int, int))
|
||||
{
|
||||
Line *l;
|
||||
char *p, *p1, *p2;
|
||||
char *p = NULL, *p1, *p2;
|
||||
|
||||
if (re == NULL || *re == '\0') {
|
||||
return NULL;
|
||||
@@ -350,6 +350,8 @@ reAnchorAny(Buffer *buf, char *re,
|
||||
for (l = MarkAllPages ? buf->firstLine : buf->topLine; l != NULL &&
|
||||
(MarkAllPages || l->linenumber < buf->topLine->linenumber + LASTLINE);
|
||||
l = l->next) {
|
||||
if (p && l->bpos)
|
||||
continue;
|
||||
p = l->lineBuf;
|
||||
for (;;) {
|
||||
if (regexMatch(p, &l->lineBuf[l->size] - p, p == l->lineBuf) == 1) {
|
||||
@@ -403,11 +405,13 @@ reAnchorNewsheader(Buffer *buf)
|
||||
}
|
||||
for (l = buf->firstLine; l != NULL && l->real_linenumber == 0;
|
||||
l = l->next) {
|
||||
if (l->bpos)
|
||||
continue;
|
||||
p = l->lineBuf;
|
||||
if (!IS_SPACE(*p)) {
|
||||
search = FALSE;
|
||||
for (q = header; *q; q++) {
|
||||
if (!strncasecmp(p, *q, sizeof(*q) - 1)) {
|
||||
if (!strncasecmp(p, *q, strlen(*q))) {
|
||||
search = TRUE;
|
||||
p = strchr(p, ':') + 1;
|
||||
break;
|
||||
@@ -417,7 +421,7 @@ reAnchorNewsheader(Buffer *buf)
|
||||
if (!search)
|
||||
continue;
|
||||
for (;;) {
|
||||
if (regexMatch(p, &l->lineBuf[l->len] - p, p == l->lineBuf)
|
||||
if (regexMatch(p, &l->lineBuf[l->size] - p, p == l->lineBuf)
|
||||
== 1) {
|
||||
matchedPosition(&p1, &p2);
|
||||
p = reAnchorPos(buf, l, p1, p2, _put_anchor_news);
|
||||
|
Reference in New Issue
Block a user