size_t n; int i;
size_t n, i;
check_ascii (const char *locname){  int c;  int res = 0;  printf ("Testing locale \"%s\":\n", locname);  for (c = 0; c <= 127; ++c)    {      char buf[MB_CUR_MAX];      wchar_t wc = 0xffffffff;      mbstate_t s;      size_t n;      int i;      for (i = 0; i < MB_CUR_MAX; ++i)	buf[i] = c + i;      memset (&s, '\0', sizeof (s));      n = mbrtowc (&wc, buf, MB_CUR_MAX, &s);      if (n == (size_t) -1)	{	  printf ("%s: '\\x%x': encoding error\n", locname, c);	  ++res;	}      else if (n == (size_t) -2)	{	  printf ("%s: '\\x%x': incomplete character\n", locname, c);	  ++res;	}      else if (n == 0 && c != 0)	{	  printf ("%s: '\\x%x': 0 returned\n", locname, c);	  ++res;	}      else if (n != 0 && c == 0)	{	  printf ("%s: '\\x%x': not 0 returned\n", locname, c);	  ++res;	}      else if (c != 0 && n != 1)	{	  printf ("%s: '\\x%x': not 1 returned\n", locname, c);	  ++res;	}      else if (wc != (wchar_t) c)	{	  printf ("%s: '\\x%x': wc != L'\\x%x'\n", locname, c, c);	  ++res;	}    }  printf (res == 1 ? "%d error\n" : "%d errors\n", res);  return res != 0;}