for (q = p + (*p == '#'); isalpha (*q) || *q == '_'; ++q)
for (q = p + (*p == '#' || *p == '%'); isalpha (*q) || *q == '_'; ++q)
parse_keyword_arg (lookup_fn, input_pointerP, valueP)     int (*lookup_fn) ();     char **input_pointerP;     int *valueP;{  int value;  char c, *p, *q;  p = *input_pointerP;  for (q = p + (*p == '#'); isalpha (*q) || *q == '_'; ++q)    continue;  c = *q;  *q = 0;  value = (*lookup_fn) (p);  *q = c;  if (value == -1)    return 0;  *valueP = value;  *input_pointerP = q;  return 1;}