home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / emx / test / nls.c < prev    next >
C/C++ Source or Header  |  1993-01-02  |  1KB  |  47 lines

  1. /* nls.c (emx+gcc) */
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <sys/nls.h>
  7.  
  8. #define BSZ 512
  9.  
  10. int main (int argc, char *argv[])
  11. {
  12.   unsigned char inp[BSZ], buf1[BSZ], buf2[BSZ], *p;
  13.   int ext_flag;
  14.  
  15.   ext_flag = 0;
  16.   if (argc == 2 && strcmp (argv[1], "-e") == 0)
  17.     ext_flag = 1;
  18.   _nls_init ();
  19.   for (;;)
  20.     {
  21.       printf ("Input: ");
  22.       if (fgets (inp, sizeof (inp), stdin) == NULL)
  23.         break;
  24.       p = strchr (inp, '\n');
  25.       if (p != NULL) *p = 0;
  26.       strcpy (buf1, inp);
  27.       strcpy (buf2, inp);
  28.       _nls_strupr (buf1);
  29.       _nls_strlwr (buf2);
  30.       printf ("Upper case: |%s|\n", buf1);
  31.       printf ("Lower case: |%s|\n", buf2);
  32.       if (ext_flag)
  33.         {
  34.           strcpy (buf1, inp);
  35.           strcpy (buf2, inp);
  36.           _remext (buf1);
  37.           _defext (buf2, "ext");
  38.           printf ("_remext: |%s|\n", buf1);
  39.           printf ("_defext: |%s|\n", buf2);
  40.           p = _getext (inp);
  41.           if (p == NULL) p = "(NULL)";
  42.           printf ("_getext: |%s|\n", p);
  43.         }
  44.     }
  45.   return (0);
  46. }
  47.