20 static const WChar STATE_WHITESPACE =
' ';
21 static const WChar STATE_WORD =
'w';
22 static const WChar STATE_QUOTE1 =
'\'';
23 static const WChar STATE_QUOTE2 =
'"';
37 char *dest = MallocT<char>(strlen(str) + 1);
40 WChar state = STATE_WHITESPACE;
41 const char *pos = str;
48 if (c == 0 || (state == STATE_WORD &&
IsWhitespace(c))) {
54 state = STATE_WHITESPACE;
55 if (c != 0)
continue;
else break;
58 if (state == STATE_WHITESPACE) {
64 if (c == STATE_QUOTE1 || c == STATE_QUOTE2) {
69 }
else if (state == STATE_WORD) {
83 memcpy(dest, pos, len);
110 if (str == NULL)
return;
116 if ((match_case ? strstr(str, it->start) : strcasestr(str, it->start)) != NULL) {
135 GetString(buffer, str,
lastof(buffer));