From bd8abef327e68cf1c1fc9c2cf6e0b11738971521 Mon Sep 17 00:00:00 2001 From: Chris Davis Date: Wed, 21 May 2014 17:08:06 -0700 Subject: regedit: sort keys Signed-off-by: Chris Davis Reviewed-by: Andreas Schneider Reviewed-by: Michael Adam --- source3/utils/regedit_treeview.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source3/utils/regedit_treeview.c b/source3/utils/regedit_treeview.c index f2241e65f4..cfcf5f2500 100644 --- a/source3/utils/regedit_treeview.c +++ b/source3/utils/regedit_treeview.c @@ -236,6 +236,16 @@ void tree_view_clear(struct tree_view *view) view->current_items = NULL; } +static int item_comp(ITEM **a, ITEM **b) +{ + struct tree_node *nodea, *nodeb; + + nodea = item_userptr(*a); + nodeb = item_userptr(*b); + + return strcmp(nodea->name, nodeb->name); +} + WERROR tree_view_update(struct tree_view *view, struct tree_node *list) { ITEM **items; @@ -273,6 +283,8 @@ WERROR tree_view_update(struct tree_view *view, struct tree_node *list) set_item_userptr(items[i], node); } + TYPESAFE_QSORT(items, n_items, item_comp); + unpost_menu(view->menu); set_menu_items(view->menu, items); tree_view_free_current_items(view->current_items); -- cgit