with a character found inside the charlist.
}
while (p < e) {
- if (isalpha(*p++)) {
- s = p - 1;
+ if (isalpha(*p) || (char_list && ch[(unsigned char)*p])) {
+ s = ++p - 1;
while (isalpha(*p) || *p == '\'' || (*p == '-' && isalpha(*(p+1))) || (char_list && ch[(unsigned char)*p])) {
p++;
}
word_count++;
break;
}
- }
+ } else {
+ p++;
+ }
}
if (!type) {
[2]=>
string(1) "r"
[3]=>
- string(1) "s"
+ string(2) "1s"
[4]=>
string(3) "bar"
[5]=>
[1]=>
string(3) "B4r"
[2]=>
- string(1) "s"
+ string(2) "1s"
[3]=>
string(3) "bar"
[4]=>
string(1) "B"
[6]=>
string(1) "r"
- [9]=>
- string(1) "s"
+ [8]=>
+ string(2) "1s"
[11]=>
string(3) "bar"
[15]=>
string(3) "F0o"
[4]=>
string(3) "B4r"
- [9]=>
- string(1) "s"
+ [8]=>
+ string(2) "1s"
[11]=>
string(3) "bar"
[15]=>