Lines Matching +full:p +full:- +full:state
9 Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
11 Copyright (c) 2016-2017 Sebastian Pipping <sebastian@pipping.org>
39 int state = init; in getTok() local
49 if (state == inAtom) in getTok()
53 if (state == inAtom) in getTok()
55 if (state != inString) in getTok()
56 state++; in getTok()
59 if (state > init) in getTok()
60 --state; in getTok()
61 else if (state != inString) in getTok()
67 if (state == inAtom) in getTok()
69 if (state == init) in getTok()
78 switch (state) { in getTok()
86 state = inString; in getTok()
91 if (state == init) { in getTok()
93 state = inAtom; in getTok()
109 if (*start != *key && *start != 'A' + (*key - 'a')) in matchkey()
116 const char *next, *p; in getXMLCharset() local
120 p = getTok(&next); in getXMLCharset()
121 if (matchkey(p, next, "text")) in getXMLCharset()
122 strcpy(charset, "us-ascii"); in getXMLCharset()
123 else if (! matchkey(p, next, "application")) in getXMLCharset()
125 p = getTok(&next); in getXMLCharset()
126 if (! p || *p != '/') in getXMLCharset()
128 p = getTok(&next); in getXMLCharset()
129 if (matchkey(p, next, "xml")) in getXMLCharset()
131 p = getTok(&next); in getXMLCharset()
132 while (p) { in getXMLCharset()
133 if (*p == ';') { in getXMLCharset()
134 p = getTok(&next); in getXMLCharset()
135 if (matchkey(p, next, "charset")) { in getXMLCharset()
136 p = getTok(&next); in getXMLCharset()
137 if (p && *p == '=') { in getXMLCharset()
138 p = getTok(&next); in getXMLCharset()
139 if (p) { in getXMLCharset()
141 if (*p == '"') { in getXMLCharset()
142 while (++p != next - 1) { in getXMLCharset()
143 if (*p == '\\') in getXMLCharset()
144 ++p; in getXMLCharset()
145 if (s == charset + CHARSET_MAX - 1) { in getXMLCharset()
149 *s++ = *p; in getXMLCharset()
153 if (next - p > CHARSET_MAX - 1) in getXMLCharset()
155 while (p != next) in getXMLCharset()
156 *s++ = *p++; in getXMLCharset()
164 p = getTok(&next); in getXMLCharset()