aboutsummaryrefslogtreecommitdiffstats
path: root/etc.c
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2003-01-23 18:01:01 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2003-01-23 18:01:01 +0000
commite718702d1281d1e92d162d9846081364ebb5f4df (patch)
tree350ea449c040ceb034822f742c7774b09e811c8c /etc.c
parent[w3m-dev 03680] showProgress() on fast system (diff)
downloadw3m-e718702d1281d1e92d162d9846081364ebb5f4df.tar.gz
w3m-e718702d1281d1e92d162d9846081364ebb5f4df.zip
* etc.c (next_status): after = is R_ST_VALUE
R_ST_VALUE > => R_ST_NORMAL R_ST_VALUE SP => R_ST_TAG (read_token): R_ST_VALUE (correct_irrtag): R_ST_VALUE * rm.h (R_ST_VALUE): added (ST_IS_REAL_TAG): rewrite (ST_IS_COMMENT): deleted (ST_IS_TAG): deleted * parsetagx.c (parse_tag): skip too long tagname skip too long attrname if attrvalue has quote char, need reconstruct if unknown attr, need reconstruct * table.c (visible_length): R_ST_VALUE From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to 'etc.c')
-rw-r--r--etc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/etc.c b/etc.c
index 93e411a..d300268 100644
--- a/etc.c
+++ b/etc.c
@@ -1,4 +1,4 @@
-/* $Id: etc.c,v 1.56 2003/01/23 16:02:15 ukai Exp $ */
+/* $Id: etc.c,v 1.57 2003/01/23 18:01:05 ukai Exp $ */
#include "fm.h"
#include <pwd.h>
#include "myctype.h"
@@ -636,7 +636,7 @@ next_status(char c, int *status)
else if (c == '>')
*status = R_ST_NORMAL;
else
- *status = R_ST_TAG;
+ *status = R_ST_VALUE;
return 0;
case R_ST_QUOTE:
if (c == '\'')
@@ -646,6 +646,12 @@ next_status(char c, int *status)
if (c == '"')
*status = R_ST_TAG;
return 0;
+ case R_ST_VALUE:
+ if (c == '>')
+ *status = R_ST_NORMAL;
+ else if (IS_SPACE(c))
+ *status = R_ST_TAG;
+ return 0;
case R_ST_AMP:
if (c == ';') {
*status = R_ST_NORMAL;
@@ -792,6 +798,7 @@ read_token(Str buf, char **instr, int *status, int pre, int append)
case R_ST_EQL:
case R_ST_QUOTE:
case R_ST_DQUOTE:
+ case R_ST_VALUE:
case R_ST_AMP:
Strcat_char(buf, *p);
break;
@@ -838,6 +845,7 @@ correct_irrtag(int status)
case R_ST_TAG:
case R_ST_TAG0:
case R_ST_EQL: /* required ">" */
+ case R_ST_VALUE:
c = '>';
break;
case R_ST_QUOTE: