diff src/search.c @ 785:548b193c084c

Use uft8_collate_key() to sort utf8 strings. Modify file_data_set_path() to sync collate keys and file_data_pool on path change. Partially fix bug 1959854.
author zas_
date Thu, 05 Jun 2008 08:41:02 +0000
parents d6a7fb4b8e7c
children a20ff446347e
line wrap: on
line diff
--- a/src/search.c	Wed Jun 04 21:12:47 2008 +0000
+++ b/src/search.c	Thu Jun 05 08:41:02 2008 +0000
@@ -2234,7 +2234,10 @@
 			return 0;
 			break;
 		case SEARCH_COLUMN_NAME:
-			return CASE_SORT(fda->fd->name, fdb->fd->name);
+			if (options->file_sort.case_sensitive)
+				return strcmp(fda->fd->collate_key_name, fdb->fd->collate_key_name);
+			else
+				return strcmp(fda->fd->collate_key_name_nocase, fdb->fd->collate_key_name_nocase);
 			break;
 		case SEARCH_COLUMN_SIZE:
 			if (fda->fd->size > fdb->fd->size) return 1;
@@ -2250,7 +2253,7 @@
 			return sort_matchdata_dimensions(fda, fdb);
 			break;
 		case SEARCH_COLUMN_PATH:
-			return CASE_SORT(fda->fd->path, fdb->fd->path);
+			return CASE_SORT(fda->fd->path, fdb->fd->path); /* FIXME: utf8_collate */
 			break;
 		default:
 			break;