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 compare(const void * p1,const void * p2)11compare (const void *p1, const void *p2) 12 { 13 return strverscmp (*((char **) p1), *((char **) p2)); 14 } 15 16 int do_test(void)17do_test (void) 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 } 46 47 #include <support/test-driver.c> 48