Back to index

glibc  2.9
Defines | Functions
test6.c File Reference
#include <ctype.h>
#include <locale.h>
#include <wchar.h>

Go to the source code of this file.

Defines

#define LEN   (sizeof (upper) - 1)

Functions

int main (void)

Define Documentation

#define LEN   (sizeof (upper) - 1)

Function Documentation

int main ( void  )

Definition at line 27 of file test6.c.

{
  const char lower[] = "abcdefghijklmnopqrstuvwxyz";
  const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
#define LEN (sizeof (upper) - 1)
  const wchar_t wlower[] = L"abcdefghijklmnopqrstuvwxyz";
  const wchar_t wupper[] = L"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  int i;
  int result = 0;

  setlocale (LC_ALL, "test6");

  for (i = 0; i < LEN; ++i)
    {
      /* Test basic table handling (basic == not more than 256 characters).
        The charmaps swaps the normal lower-upper case meaning of the
        ASCII characters used in the source code while the Unicode mapping
        in the repertoire map has the normal correspondants.  This test
        shows the independence of the tables for `char' and `wchar_t'
        characters.  */

      if (islower (lower[i]))
       {
         printf ("islower ('%c') false\n", lower[i]);
         result = 1;
       }
      if (! isupper (lower[i]))
       {
         printf ("isupper ('%c') false\n", lower[i]);
         result = 1;
       }

      if (! islower (upper[i]))
       {
         printf ("islower ('%c') false\n", upper[i]);
         result = 1;
       }
      if (isupper (upper[i]))
       {
         printf ("isupper ('%c') false\n", upper[i]);
         result = 1;
       }

      if (toupper (lower[i]) != lower[i])
       {
         printf ("toupper ('%c') false\n", lower[i]);
         result = 1;
       }
      if (tolower (lower[i]) != upper[i])
       {
         printf ("tolower ('%c') false\n", lower[i]);
         result = 1;
       }

      if (tolower (upper[i]) != upper[i])
       {
         printf ("tolower ('%c') false\n", upper[i]);
         result = 1;
       }
      if (toupper (upper[i]) != lower[i])
       {
         printf ("toupper ('%c') false\n", upper[i]);
         result = 1;
       }

      if (iswlower (wupper[i]))
       {
         printf ("iswlower (L'%c') false\n", upper[i]);
         result = 1;
       }
      if (! iswupper (wupper[i]))
       {
         printf ("iswupper (L'%c') false\n", upper[i]);
         result = 1;
       }

      if (iswupper (wlower[i]))
       {
         printf ("iswupper (L'%c') false\n", lower[i]);
         result = 1;
       }
      if (! iswlower (wlower[i]))
       {
         printf ("iswlower (L'%c') false\n", lower[i]);
         result = 1;
       }

      if (towupper (wlower[i]) != wupper[i])
       {
         printf ("towupper ('%c') false\n", lower[i]);
         result = 1;
       }
      if (towlower (wlower[i]) != wlower[i])
       {
         printf ("towlower ('%c') false\n", lower[i]);
         result = 1;
       }

      if (towlower (wupper[i]) != wlower[i])
       {
         printf ("towlower ('%c') false\n", upper[i]);
         result = 1;
       }
      if (towupper (wupper[i]) != wupper[i])
       {
         printf ("towupper ('%c') false\n", upper[i]);
         result = 1;
       }
    }

  return result;
}

Here is the call graph for this function: