diff options
author | Chris Davis <cd.rattan@gmail.com> | 2014-05-21 17:08:06 -0700 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2014-10-01 14:32:08 +0200 |
commit | bd8abef327e68cf1c1fc9c2cf6e0b11738971521 (patch) | |
tree | 586d8d8ef8fad7774154a95527faf8215903ac49 /source3/utils/regedit_treeview.c | |
parent | b5d0eb8ee06908ad8171f71b648c43de6303047b (diff) | |
download | samba-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.c | 12 |
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); |