const struct attrs *findAttr(register const char *str, register unsigned int len) { if(len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash_attr(str, len); if(key <= MAX_HASH_VALUE && key >= 0) { register int index = lookup[key]; if(index >= 0) { register const char *s = wordlist_attr[index].name + spool_attr; if(*str == *s && !strncmp(str + 1, s + 1, len - 1) && s[len] == '\0') return &wordlist_attr[index]; } } } return 0; }
__inline #endif const struct attrs * findAttr (register const char *str, register unsigned int len) { enum { TOTAL_KEYWORDS = 136, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 14, MIN_HASH_VALUE = 19, MAX_HASH_VALUE = 1189 }; static const struct attrs wordlist_attr[] = { {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"link", ATTR_LINK}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"size", ATTR_SIZE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"left", ATTR_LEFT}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"title", ATTR_TITLE}, {"", 0}, {"", 0}, {"", 0}, {"text", ATTR_TEXT}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"rel", ATTR_REL}, {"rows", ATTR_ROWS}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"for", ATTR_FOR}, {"", 0}, {"", 0}, {"", 0}, {"onreset", ATTR_ONRESET}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"noresize", ATTR_NORESIZE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"alt", ATTR_ALT}, {"html", ATTR_HTML}, {"alink", ATTR_ALINK}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"axis", ATTR_AXIS}, {"vlink", ATTR_VLINK}, {"", 0}, {"unknown", ATTR_UNKNOWN}, {"", 0}, {"", 0}, {"label", ATTR_LABEL}, {"", 0}, {"", 0}, {"", 0}, {"href", ATTR_HREF}, {"", 0}, {"nohref", ATTR_NOHREF}, {"", 0}, {"top", ATTR_TOP}, {"name", ATTR_NAME}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"style", ATTR_STYLE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"lang", ATTR_LANG}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"align", ATTR_ALIGN}, {"", 0}, {"", 0}, {"rev", ATTR_REV}, {"", 0}, {"", 0}, {"", 0}, {"id", ATTR_ID}, {"", 0}, {"", 0}, {"", 0}, {"height", ATTR_HEIGHT}, {"", 0}, {"", 0}, {"", 0}, {"rules", ATTR_RULES}, {"", 0}, {"version", ATTR_VERSION}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"start", ATTR_START}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"span", ATTR_SPAN}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"z-index", ATTR_Z_INDEX}, {"", 0}, {"", 0}, {"plain", ATTR_PLAIN}, {"onblur", ATTR_ONBLUR}, {"profile", ATTR_PROFILE}, {"", 0}, {"", 0}, {"frame", ATTR_FRAME}, {"", 0}, {"", 0}, {"onsubmit", ATTR_ONSUBMIT}, {"abbr", ATTR_ABBR}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"width", ATTR_WIDTH}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"dir", ATTR_DIR}, {"", 0}, {"shape", ATTR_SHAPE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"defer", ATTR_DEFER}, {"onload", ATTR_ONLOAD}, {"", 0}, {"", 0}, {"type", ATTR_TYPE}, {"", 0}, {"target", ATTR_TARGET}, {"", 0}, {"", 0}, {"", 0}, {"ismap", ATTR_ISMAP}, {"valign", ATTR_VALIGN}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"method", ATTR_METHOD}, {"", 0}, {"", 0}, {"wrap", ATTR_WRAP}, {"", 0}, {"nowrap", ATTR_NOWRAP}, {"rowspan", ATTR_ROWSPAN}, {"", 0}, {"maxlength", ATTR_MAXLENGTH}, {"", 0}, {"", 0}, {"", 0}, {"hreflang", ATTR_HREFLANG}, {"", 0}, {"pagex", ATTR_PAGEX}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onmouseout", ATTR_ONMOUSEOUT}, {"", 0}, {"noshade", ATTR_NOSHADE}, {"", 0}, {"onkeydown", ATTR_ONKEYDOWN}, {"value", ATTR_VALUE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"multiple", ATTR_MULTIPLE}, {"cols", ATTR_COLS}, {"media", ATTR_MEDIA}, {"onmousemove", ATTR_ONMOUSEMOVE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onkeypress", ATTR_ONKEYPRESS}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"visibility", ATTR_VISIBILITY}, {"onmousedown", ATTR_ONMOUSEDOWN}, {"", 0}, {"onselect", ATTR_ONSELECT}, {"", 0}, {"", 0}, {"onmouseover", ATTR_ONMOUSEOVER}, {"", 0}, {"tabindex", ATTR_TABINDEX}, {"cite", ATTR_CITE}, {"", 0}, {"border", ATTR_BORDER}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"content", ATTR_CONTENT}, {"datetime", ATTR_DATETIME}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"data", ATTR_DATA}, {"", 0}, {"", 0}, {"onkeyup", ATTR_ONKEYUP}, {"", 0}, {"", 0}, {"", 0}, {"usemap", ATTR_USEMAP}, {"headers", ATTR_HEADERS}, {"onunload", ATTR_ONUNLOAD}, {"", 0}, {"", 0}, {"prompt", ATTR_PROMPT}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"object", ATTR_OBJECT}, {"", 0}, {"src", ATTR_SRC}, {"", 0}, {"color", ATTR_COLOR}, {"hidden", ATTR_HIDDEN}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onmouseup", ATTR_ONMOUSEUP}, {"pagey", ATTR_PAGEY}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"class", ATTR_CLASS}, {"scheme", ATTR_SCHEME}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"face", ATTR_FACE}, {"", 0}, {"", 0}, {"", 0}, {"language", ATTR_LANGUAGE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"scope", ATTR_SCOPE}, {"action", ATTR_ACTION}, {"standby", ATTR_STANDBY}, {"", 0}, {"", 0}, {"http-equiv", ATTR_HTTP_EQUIV}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onfocus", ATTR_ONFOCUS}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"readonly", ATTR_READONLY}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"scrolling", ATTR_SCROLLING}, {"", 0}, {"", 0}, {"marginheight", ATTR_MARGINHEIGHT}, {"disabled", ATTR_DISABLED}, {"", 0}, {"clear", ATTR_CLEAR}, {"", 0}, {"", 0}, {"", 0}, {"code", ATTR_CODE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"bgcolor", ATTR_BGCOLOR}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"summary", ATTR_SUMMARY}, {"", 0}, {"pluginurl", ATTR_PLUGINURL}, {"", 0}, {"", 0}, {"", 0}, {"selected", ATTR_SELECTED}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onchange", ATTR_ONCHANGE}, {"char", ATTR_CHAR}, {"", 0}, {"", 0}, {"bgproperties", ATTR_BGPROPERTIES}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"colspan", ATTR_COLSPAN}, {"", 0}, {"", 0}, {"", 0}, {"marginwidth", ATTR_MARGINWIDTH}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"charset", ATTR_CHARSET}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"longdesc", ATTR_LONGDESC}, {"", 0}, {"", 0}, {"coords", ATTR_COORDS}, {"charoff", ATTR_CHAROFF}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"oversrc", ATTR_OVERSRC}, {"", 0}, {"", 0}, {"", 0}, {"hspace", ATTR_HSPACE}, {"", 0}, {"", 0}, {"valuetype", ATTR_VALUETYPE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"frameborder", ATTR_FRAMEBORDER}, {"enctype", ATTR_ENCTYPE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"classid", ATTR_CLASSID}, {"", 0}, {"", 0}, {"pluginpage", ATTR_PLUGINPAGE}, {"pluginspage", ATTR_PLUGINSPAGE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"codebase", ATTR_CODEBASE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"vspace", ATTR_VSPACE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"archive", ATTR_ARCHIVE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"declare", ATTR_DECLARE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"onclick", ATTR_ONCLICK}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"bordercolor", ATTR_BORDERCOLOR}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"codetype", ATTR_CODETYPE}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"checked", ATTR_CHECKED}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"accesskey", ATTR_ACCESSKEY}, {"ondblclick", ATTR_ONDBLCLICK}, {"accept", ATTR_ACCEPT}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"background", ATTR_BACKGROUND}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"compact", ATTR_COMPACT}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"cellspacing", ATTR_CELLSPACING}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"cellpadding", ATTR_CELLPADDING}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"accept-charset", ATTR_ACCEPT_CHARSET} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash_attr (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register const char *s = wordlist_attr[key].name; if (*str == *s && !strcmp (str + 1, s + 1)) return &wordlist_attr[key]; } } return 0; }