You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by yl...@apache.org on 2015/03/13 15:11:41 UTC

svn commit: r1666458 - /apr/apr/trunk/tables/apr_skiplist.c

Author: ylavic
Date: Fri Mar 13 14:11:41 2015
New Revision: 1666458

URL: http://svn.apache.org/r1666458
Log:
skiplist: check NULL compare function in apr_skiplist_find_compare() instead
of apr_skiplist_find() so that both functions act the same way in this case,
like insert[_compare]() and remove[_compare]().

Rearrange apr_skiplist_find() after apr_skiplist_find_compare() (still like
others, the former calling the latter), and also move apr_skiplist_getlist()
near to apr_skiplist_{next,previous}().

Modified:
    apr/apr/trunk/tables/apr_skiplist.c

Modified: apr/apr/trunk/tables/apr_skiplist.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/tables/apr_skiplist.c?rev=1666458&r1=1666457&r2=1666458&view=diff
==============================================================================
--- apr/apr/trunk/tables/apr_skiplist.c (original)
+++ apr/apr/trunk/tables/apr_skiplist.c Fri Mar 13 14:11:41 2015
@@ -298,22 +298,6 @@ APR_DECLARE(void) apr_skiplist_add_index
     }
 }
 
-APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl)
-{
-    if (!sl->bottom) {
-        return NULL;
-    }
-    return sl->bottom->next;
-}
-
-APR_DECLARE(void *) apr_skiplist_find(apr_skiplist *sl, void *data, apr_skiplistnode **iter)
-{
-    if (!sl->compare) {
-        return NULL;
-    }
-    return apr_skiplist_find_compare(sl, data, iter, sl->compare);
-}
-
 static int skiplisti_find_compare(apr_skiplist *sl, void *data,
                            apr_skiplistnode **ret,
                            apr_skiplist_compare comp)
@@ -351,6 +335,12 @@ APR_DECLARE(void *) apr_skiplist_find_co
 {
     apr_skiplistnode *m;
     apr_skiplist *sl;
+    if (!comp) {
+        if (iter) {
+            *iter = NULL;
+        }
+        return NULL;
+    }
     if (comp == sli->compare || !sli->index) {
         sl = sli;
     }
@@ -371,6 +361,19 @@ APR_DECLARE(void *) apr_skiplist_find_co
     return (m) ? m->data : NULL;
 }
 
+APR_DECLARE(void *) apr_skiplist_find(apr_skiplist *sl, void *data, apr_skiplistnode **iter)
+{
+    return apr_skiplist_find_compare(sl, data, iter, sl->compare);
+}
+
+
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl)
+{
+    if (!sl->bottom) {
+        return NULL;
+    }
+    return sl->bottom->next;
+}
 
 APR_DECLARE(void *) apr_skiplist_next(apr_skiplist *sl, apr_skiplistnode **iter)
 {