1typedef struct _rec_stl rec_stl;
2struct _rec_stl {
3   unsigned char **strs;
4};
5orec_str_list(int count) {
6   rec_stl *stl;
7   int i, j;
8   int li, lj;
9   unsigned char ci, cj;
10   for (i = 0; i < count; i++) {
11      for (j = i + 1; j < count; j++) {
12         cj = lj > 2 ? stl->strs[j][0] : (long)stl->strs[j] & 0xff;
13         if ((count >= 16 && cj < ci) || (cj == ci && lj > li)) {
14            stl->strs[j] = stl->strs[i];
15            ci ^= cj;
16            cj ^= ci;
17            ci ^= cj;
18         }
19      }
20   }
21}
22