Thumbnail

rani/cscroll.git

Clone URL: https://git.buni.party/rani/cscroll.git

commit b625c1dd1335e81b4e2fea566c39ed54554c1241 Author: Raniconduh <clagv.randomgames@gmail.com> Date: Thu Jan 13 23:43:31 2022 +0000 added proper alphabetical sort diff --git a/src/dir.c b/src/dir.c index 4cc6c22..e6c3a14 100644 --- a/src/dir.c +++ b/src/dir.c @@ -346 +3411 @@ static int cmp(const void * a, const void * b) {   return strcmp(c->name, d->name);  }   +static int acmp(const void * a, const void * b) { + return strcmp((*(const struct dir_entry_t**)a)->name, + (*(const struct dir_entry_t**)b)->name); +} +    int list_dir(char * dir_path) {   struct dirent * d_entry; @@ -1636 +16817 @@ int list_dir(char * dir_path) {   closedir(dir);     qsort(dir_entries, n_dir_entries, sizeof(struct dir_entry_t*), cmp); + size_t d_end = 0; + for (size_t i = 0; i < n_dir_entries; i++) { + if (dir_entries[i]->file_type != FILE_DIR) { + d_end = i; + break; + } + } + qsort(dir_entries, d_end, sizeof(struct dir_entry_t*), acmp); + qsort(dir_entries + d_end, n_dir_entries - d_end, + sizeof(struct dir_entry_t*), acmp); +     return 0;  }