rem: unsigned int i;
add: size_t i;
context: posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits){  const char *dot = NULL;  int pair[6];  int *p;  unsigned int i;  size_t s_len = strlen (s);  size_t len = (((syntax_bits & PDS_SECONDS) && (dot = strchr (s, '.')))		? (size_t) (dot - s)		: s_len);  if (len != 8 && len != 10 && len != 12)    return 1;  if (dot)    {      if (!(syntax_bits & PDS_SECONDS))	return 1;      if (s_len - len != 3)	return 1;    }  for (i = 0; i < len; i++)    if (!ISDIGIT (s[i]))      return 1;  len /= 2;  for (i = 0; i < len; i++)    pair[i] = 10 * (s[2*i] - '0') + s[2*i + 1] - '0';  p = pair;  if (syntax_bits & PDS_LEADING_YEAR)    {      if (year (tm, p, len - 4, syntax_bits & PDS_CENTURY))	return 1;      p += len - 4;      len = 4;    }  /* Handle 8 digits worth of `MMDDhhmm'.  */  tm->tm_mon = *p++ - 1;  tm->tm_mday = *p++;  tm->tm_hour = *p++;  tm->tm_min = *p++;  len -= 4;  /* Handle any trailing year.  */  if (syntax_bits & PDS_TRAILING_YEAR)    {      if (year (tm, p, len, syntax_bits & PDS_CENTURY))	return 1;    }  /* Handle seconds.  */  if (!dot)    {      tm->tm_sec = 0;    }  else    {      int seconds;      ++dot;      if (!ISDIGIT (dot[0]) || !ISDIGIT (dot[1]))	return 1;      seconds = 10 * (dot[0] - '0') + dot[1] - '0';      tm->tm_sec = seconds;    }  return 0;}