diff options
author | Richard Jones <rjones@redhat.com> | 2010-05-25 13:52:53 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-05-25 13:52:53 +0100 |
commit | 53c3b9d2b03fa5cb0ac7e86a5a51f2a18a2b91c1 (patch) | |
tree | b6428368e400be4f1a2e60f0e04977210f19fac2 /fish | |
parent | 06d8064ff8a57eba051044efd1ea1a33c34b9df0 (diff) | |
download | libguestfs-53c3b9d2b03fa5cb0ac7e86a5a51f2a18a2b91c1.tar.gz libguestfs-53c3b9d2b03fa5cb0ac7e86a5a51f2a18a2b91c1.tar.xz libguestfs-53c3b9d2b03fa5cb0ac7e86a5a51f2a18a2b91c1.zip |
fish: Sort returned paths so the list is stable across multiple calls.
Diffstat (limited to 'fish')
-rw-r--r-- | fish/destpaths.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fish/destpaths.c b/fish/destpaths.c index 2908ba47..403fe7f5 100644 --- a/fish/destpaths.c +++ b/fish/destpaths.c @@ -71,6 +71,14 @@ free_words (struct word *words, size_t nr_words) free (words[i].name); free (words); } + +static int +compare_words (const void *vp1, const void *vp2) +{ + const struct word *w1 = (const struct word *) vp1; + const struct word *w2 = (const struct word *) vp2; + return strcmp (w1->name, w2->name); +} #endif char * @@ -212,6 +220,9 @@ complete_dest_paths_generator (const char *text, int state) /* This inhibits ordinary (local filename) completion. */ rl_attempted_completion_over = 1; + /* Sort the words so the list is stable over multiple calls. */ + qsort (words, nr_words, sizeof (struct word), compare_words); + /* Complete the string. */ while (index < nr_words) { struct word *word; |