> +eat(char *s, int (*p)(int), const int r) {

`const int r' also does not make much sense.
This is not idiomatic code.

> +skip(char *s, const char c) {

Similarly here for `c'.  I'd expect this to be simply
an int to be honest.

Thanks,
sin

Reply via email to