Jacek Caban : rbtree.h: Store compare function instead of wine_rb_functions in wine_rb_tree.

Alexandre Julliard julliard at winehq.org
Wed Aug 31 11:02:41 CDT 2016


Module: wine
Branch: master
Commit: f5d7ee1a57f689311bcdea7679cc4c50a26657d1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f5d7ee1a57f689311bcdea7679cc4c50a26657d1

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Aug 30 21:30:25 2016 +0200

rbtree.h: Store compare function instead of wine_rb_functions in wine_rb_tree.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/wine/rbtree.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/wine/rbtree.h b/include/wine/rbtree.h
index f13592e..528a494 100644
--- a/include/wine/rbtree.h
+++ b/include/wine/rbtree.h
@@ -44,7 +44,7 @@ struct wine_rb_functions
 
 struct wine_rb_tree
 {
-    const struct wine_rb_functions *functions;
+    int (*compare)(const void *key, const struct wine_rb_entry *entry);
     struct wine_rb_entry *root;
 };
 
@@ -131,7 +131,7 @@ static inline void wine_rb_postorder(struct wine_rb_tree *tree, wine_rb_traverse
 
 static inline int wine_rb_init(struct wine_rb_tree *tree, const struct wine_rb_functions *functions)
 {
-    tree->functions = functions;
+    tree->compare = functions->compare;
     tree->root = NULL;
 
     return 0;
@@ -159,7 +159,7 @@ static inline struct wine_rb_entry *wine_rb_get(const struct wine_rb_tree *tree,
     struct wine_rb_entry *entry = tree->root;
     while (entry)
     {
-        int c = tree->functions->compare(key, entry);
+        int c = tree->compare(key, entry);
         if (!c) return entry;
         entry = c < 0 ? entry->left : entry->right;
     }
@@ -175,7 +175,7 @@ static inline int wine_rb_put(struct wine_rb_tree *tree, const void *key, struct
         int c;
 
         parent = *iter;
-        c = tree->functions->compare(key, parent);
+        c = tree->compare(key, parent);
         if (!c) return -1;
         else if (c < 0) iter = &parent->left;
         else iter = &parent->right;




More information about the wine-cvs mailing list