summaryrefslogtreecommitdiffstats
path: root/source3/utils/regedit_treeview.c
diff options
context:
space:
mode:
authorChris Davis <cd.rattan@gmail.com>2014-05-21 17:08:06 -0700
committerMichael Adam <obnox@samba.org>2014-10-01 14:32:08 +0200
commitbd8abef327e68cf1c1fc9c2cf6e0b11738971521 (patch)
tree586d8d8ef8fad7774154a95527faf8215903ac49 /source3/utils/regedit_treeview.c
parentb5d0eb8ee06908ad8171f71b648c43de6303047b (diff)
downloadsamba-bd8abef327e68cf1c1fc9c2cf6e0b11738971521.tar.gz
samba-bd8abef327e68cf1c1fc9c2cf6e0b11738971521.tar.xz
samba-bd8abef327e68cf1c1fc9c2cf6e0b11738971521.zip
regedit: sort keys
Signed-off-by: Chris Davis <cd.rattan@gmail.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/utils/regedit_treeview.c')
-rw-r--r--source3/utils/regedit_treeview.c12
1 files changed, 12 insertions, 0 deletions
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);