mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
46 lines
786 B
C
46 lines
786 B
C
|
/* Test for strverscmp() */
|
||
|
|
||
|
#include <stdlib.h>
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
#define MAX_STRINGS 256
|
||
|
#define MAX_LINE_SIZE 32
|
||
|
|
||
|
int
|
||
|
compare (const void *p1, const void *p2)
|
||
|
{
|
||
|
return strverscmp (*((char **) p1), *((char **) p2));
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main (int argc, char *argv[])
|
||
|
{
|
||
|
char line[MAX_LINE_SIZE + 1];
|
||
|
char *str[MAX_STRINGS];
|
||
|
int count = 0;
|
||
|
int i, n;
|
||
|
|
||
|
while (count < MAX_STRINGS && fgets (line, MAX_LINE_SIZE, stdin) != NULL)
|
||
|
{
|
||
|
n = strlen (line) - 1;
|
||
|
|
||
|
if (line[n] == '\n')
|
||
|
line[n] = '\0';
|
||
|
|
||
|
str[count] = strdup (line);
|
||
|
|
||
|
if (str[count] == NULL)
|
||
|
exit (EXIT_FAILURE);
|
||
|
|
||
|
++count;
|
||
|
}
|
||
|
|
||
|
qsort (str, count, sizeof (char *), compare);
|
||
|
|
||
|
for (i = 0; i < count; ++i)
|
||
|
puts (str[i]);
|
||
|
|
||
|
exit (EXIT_SUCCESS);
|
||
|
}
|