Mercurial > hg > octave-lyh > gnulib-hg
changeset 8793:0d10c63d2bd3
(struct hol_entry): New member `ord'.
(HOL_ENTRY_PTRCMP): Use ord for comparison
(hol_sort): Initialize ord.
author | Sergey Poznyakoff <gray@gnu.org.ua> |
---|---|
date | Wed, 02 May 2007 04:33:22 +0000 |
parents | aa7338eb64bb |
children | 4e0d4efa70d7 |
files | lib/argp-help.c |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/argp-help.c +++ b/lib/argp-help.c @@ -375,6 +375,9 @@ /* The argp from which this option came. */ const struct argp *argp; + + /* Position in the array */ + unsigned ord; }; /* A cluster of entries to reflect the argp tree structure. */ @@ -733,7 +736,7 @@ return non_opt; } -#define HOL_ENTRY_PTRCMP(a,b) ((a) < (b) ? -1 : 1) +#define HOL_ENTRY_PTRCMP(a,b) ((a)->ord < (b)->ord ? -1 : 1) /* Order ENTRY1 & ENTRY2 by the order which they should appear in a help listing. */ @@ -829,8 +832,14 @@ hol_sort (struct hol *hol) { if (hol->num_entries > 0) - qsort (hol->entries, hol->num_entries, sizeof (struct hol_entry), - hol_entry_qcmp); + { + unsigned i; + struct hol_entry *e; + for (i = 0, e = hol->entries; i < hol->num_entries; i++, e++) + e->ord = i; + qsort (hol->entries, hol->num_entries, sizeof (struct hol_entry), + hol_entry_qcmp); + } } /* Append MORE to HOL, destroying MORE in the process. Options in HOL shadow