1  typedef struct _rec_stl rec_stl;
       2  struct _rec_stl {
       3     unsigned char **strs;
       4  };
       5  orec_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  }