Blame string/tst-svc.c

Packit 6c4009
/* Test for strverscmp() */
Packit 6c4009
Packit 6c4009
#include <stdlib.h>
Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <string.h>
Packit 6c4009
Packit 6c4009
#define  MAX_STRINGS      256
Packit 6c4009
#define  MAX_LINE_SIZE    32
Packit 6c4009
Packit 6c4009
static int
Packit 6c4009
compare (const void *p1, const void *p2)
Packit 6c4009
{
Packit 6c4009
  return strverscmp (*((char **) p1), *((char **) p2));
Packit 6c4009
}
Packit 6c4009
Packit 6c4009
int
Packit 6c4009
do_test (void)
Packit 6c4009
{
Packit 6c4009
  char line[MAX_LINE_SIZE + 1];
Packit 6c4009
  char *str[MAX_STRINGS];
Packit 6c4009
  int  count = 0;
Packit 6c4009
  int  i, n;
Packit 6c4009
Packit 6c4009
  while (count < MAX_STRINGS && fgets (line, MAX_LINE_SIZE, stdin) != NULL)
Packit 6c4009
    {
Packit 6c4009
      n = strlen (line) - 1;
Packit 6c4009
Packit 6c4009
      if (line[n] == '\n')
Packit 6c4009
        line[n] = '\0';
Packit 6c4009
Packit 6c4009
      str[count] = strdup (line);
Packit 6c4009
Packit 6c4009
      if (str[count] == NULL)
Packit 6c4009
        exit (EXIT_FAILURE);
Packit 6c4009
Packit 6c4009
      ++count;
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  qsort (str, count, sizeof (char *), compare);
Packit 6c4009
Packit 6c4009
  for (i = 0; i < count; ++i)
Packit 6c4009
    puts (str[i]);
Packit 6c4009
Packit 6c4009
  return EXIT_SUCCESS;
Packit 6c4009
}
Packit 6c4009
Packit 6c4009
#include <support/test-driver.c>