Test case for last x86 memcmp problem
[platform/upstream/glibc.git] / string / tst-svc.c
1 /* Test for strverscmp() */
2
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <string.h>
6
7 #define  MAX_STRINGS      256
8 #define  MAX_LINE_SIZE    32
9
10 static int
11 compare (const void *p1, const void *p2)
12 {
13   return strverscmp (*((char **) p1), *((char **) p2));
14 }
15
16 int
17 main (int argc, char *argv[])
18 {
19   char line[MAX_LINE_SIZE + 1];
20   char *str[MAX_STRINGS];
21   int  count = 0;
22   int  i, n;
23
24   while (count < MAX_STRINGS && fgets (line, MAX_LINE_SIZE, stdin) != NULL)
25     {
26       n = strlen (line) - 1;
27
28       if (line[n] == '\n')
29         line[n] = '\0';
30
31       str[count] = strdup (line);
32
33       if (str[count] == NULL)
34         exit (EXIT_FAILURE);
35
36       ++count;
37     }
38
39   qsort (str, count, sizeof (char *), compare);
40
41   for (i = 0; i < count; ++i)
42     puts (str[i]);
43
44   return EXIT_SUCCESS;
45 }