-#define strlcpy _strlcpy
-static void
-strlcpy(char *to, const char *from, int l) {
- memccpy(to, from, '\0', l);
- to[l-1] = '\0';
-}
-
-static void
-eat(char **s, int (*p)(int), int r) {
- char *q;
-
- for(q = *s; *q && p(*q) == r; q++)
- ;
- *s = q;
+static char *
+eat(char *s, int (*p)(int), int r) {
+ while(*s != '\0' && p((unsigned char)*s) == r)
+ s++;
+ return s;