1 typedef struct _rec_stl rec_stl; 2 struct _rec_stl { 3 unsigned char **strs; 4 }; orec_str_list(int count)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