rem: unsigned int c = *s++ - '0';
add: int c = *s++ - '0';
context: simple_strtoul (const char *s, const char **p, long unsigned int *val){  unsigned long int sum;  sum = 0;  while (ISDIGIT (*s))    {      unsigned int c = *s++ - '0';      if (sum > (ULONG_MAX - c) / 10)	return 1;      sum = sum * 10 + c;    }  *p = s;  *val = sum;  return 0;}