-//printf("FileSystem::sort_table %p\n", dir_list->values);
- switch(sort_field)
- {
- case SORT_PATH:
- if(sort_order == SORT_ASCENDING)
- SORT_MACRO(path_ascending)
- else
- SORT_MACRO(path_descending)
- break;
- case SORT_SIZE:
- if(sort_order == SORT_ASCENDING)
- SORT_MACRO(size_ascending)
- else
- SORT_MACRO(size_descending)
- break;
- case SORT_DATE:
- if(sort_order == SORT_ASCENDING)
- SORT_MACRO(date_ascending)
- else
- SORT_MACRO(date_descending)
- break;
- case SORT_EXTENSION:
- if(sort_order == SORT_ASCENDING)
- SORT_MACRO(ext_ascending)
- else
- SORT_MACRO(ext_descending)
- break;
- }
+ qsort(dir_list->values,
+ dir_list->size(), sizeof(FileItem*),
+ cmpr[sort_field][sort_order]);