From f41604493664f96ef07e7f74934c73736b3942a6 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Sun, 9 Dec 2001 13:59:04 +0000 Subject: [w3m-dev 02646] From: Kiyokazu SUTO --- etc.c | 47 +++++++++++------------------------------------ 1 file changed, 11 insertions(+), 36 deletions(-) (limited to 'etc.c') diff --git a/etc.c b/etc.c index 81e7516..48f62ea 100644 --- a/etc.c +++ b/etc.c @@ -1,4 +1,4 @@ -/* $Id: etc.c,v 1.9 2001/12/02 16:26:08 ukai Exp $ */ +/* $Id: etc.c,v 1.10 2001/12/09 13:59:04 ukai Exp $ */ #include "fm.h" #include #include "myctype.h" @@ -171,24 +171,21 @@ currentLineSkip(Buffer *buf, Line *line, int offset, int last) #define MAX_CMD_LEN 128 -static int -get_cmd(Hash_si * hash, - char **s, - char *args, - char termchar, int defaultcmd, int allow_space, int *status) +int +gethtmlcmd(char **s) { + extern Hash_si tagtable; char cmdstr[MAX_CMD_LEN]; char *p = cmdstr; char *save = *s; int cmd; - if (status) - *status = 0; + (*s)++; /* first character */ if (IS_ALNUM(**s) || **s == '_' || **s == '/') *(p++) = tolower(*((*s)++)); else - return defaultcmd; + return HTML_UNKNOWN; if (p[-1] == '/') SKIP_BLANKS(*s); while ((IS_ALNUM(**s) || **s == '_') && p - cmdstr < MAX_CMD_LEN) { @@ -197,41 +194,19 @@ get_cmd(Hash_si * hash, if (p - cmdstr == MAX_CMD_LEN) { /* buffer overflow: perhaps caused by bad HTML source */ *s = save + 1; - if (status) - *status = -1; - return defaultcmd; + return HTML_UNKNOWN; } *p = '\0'; /* hash search */ - cmd = getHash_si(hash, cmdstr, defaultcmd); - if (args != NULL) { - p = args; - while (**s == ' ' || **s == '\t') - (*s)++; - while (**s && **s != '\n' && **s != '\r' && **s != termchar) { - *(p++) = *((*s)++); - } - *p = '\0'; - } - else if (allow_space) { - while (**s && **s != termchar) - (*s)++; - } - if (**s == termchar) + cmd = getHash_si(&tagtable, cmdstr, HTML_UNKNOWN); + while (**s && **s != '>') + (*s)++; + if (**s == '>') (*s)++; - else if (status) - *status = -1; return cmd; } -int -gethtmlcmd(char **s, int *status) -{ - extern Hash_si tagtable; - return get_cmd(&tagtable, s, NULL, '>', HTML_UNKNOWN, TRUE, status); -} - static char * searchAnchorArg(char **arg) { -- cgit v1.2.3