7 DEFUN(compare, (a, b), CONST PTR a AND CONST PTR b)
9 return strcmp (*(char **) a, *(char **) b);
15 static char *lines[500];
16 static size_t lens[500];
20 while (i < 500 && getline (&lines[i], &lens[500], stdin) > 0)
27 size_t swap = random () % i;
28 char *line = lines[swap];
29 lines[swap] = lines[i];
33 qsort (lines, 500, sizeof (char *), compare);
35 for (i = 0; i < 500 && lines[i] != NULL; ++i)
36 fputs (lines[i], stdout);