Beispiel #1
0
int
main ()
{
  /* configure should already have checked that the locale is supported.  */
  if (setlocale (LC_ALL, "") == NULL)
    return 1;

  /* Test case n = 0.  */
  ulc_wordbreaks (NULL, 0, NULL);

#if HAVE_ICONV
  {
    static const char input[36] =
      /* "Grüß Gott. x=(-b±sqrt(b²-4ac))/(2a)" */
      "Gr\374\337 Gott. x=(-b\261sqrt(b\262-4ac))/(2a)\n";
    char *p = (char *) malloc (SIZEOF (input));
    size_t i;

    ulc_wordbreaks (input, SIZEOF (input), p);

    for (i = 0; i < 36; i++)
      {
        ASSERT (p[i] == ((i >= 4 && i <= 5)
                         || (i >= 9 && i <= 17)
                         || (i >= 21 && i <= 25)
                         || (i >= 28 && i <= 32)
                         || (i >= 34 && i <= 35)
                         ? 1 : 0));
      }
    free (p);
  }
#endif

  return 0;
}
Beispiel #2
0
int
main (int argc, char * argv[])
{
  setlocale (LC_CTYPE, "");
  if (argc == 1)
    {
      /* Display all the word breaks in the input string.  */
      char *input = read_file (stdin);
      int length = strlen (input);
      char *breaks = malloc (length);
      int i;

      ulc_wordbreaks (input, length, breaks);

      for (i = 0; i < length; i++)
        {
          switch (breaks[i])
            {
            case 1:
              putc ('|', stdout);
              break;
            case 0:
              break;
            default:
              abort ();
            }
          putc (input[i], stdout);
        }

      free (breaks);

      return 0;
    }
  else
    return 1;
}