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)
{