diff --git a/src/include/lib/radixtree_insert_impl.h b/src/include/lib/radixtree_insert_impl.h index 4e00b46d9b..3f831227c9 100644 --- a/src/include/lib/radixtree_insert_impl.h +++ b/src/include/lib/radixtree_insert_impl.h @@ -80,9 +80,10 @@ } else { - int insertpos = RT_NODE_3_GET_INSERTPOS(&n3->base, chunk); + int insertpos;// = RT_NODE_3_GET_INSERTPOS(&n3->base, chunk); int count = n3->base.n.count; - +#ifdef RT_MAINTAIN_ORDERING + insertpos = RT_NODE_3_GET_INSERTPOS(&n3->base, chunk); /* shift chunks and children */ if (insertpos < count) { @@ -95,6 +96,9 @@ count, insertpos); #endif } +#else + insertpos = count; +#endif /* order */ n3->base.chunks[insertpos] = chunk; #ifdef RT_NODE_LEVEL_LEAF @@ -186,8 +190,10 @@ } else { - int insertpos = RT_NODE_32_GET_INSERTPOS(&n32->base, chunk); + int insertpos; int count = n32->base.n.count; +#ifdef RT_MAINTAIN_ORDERING + insertpos = RT_NODE_32_GET_INSERTPOS(&n32->base, chunk); if (insertpos < count) { @@ -200,6 +206,9 @@ count, insertpos); #endif } +#else + insertpos = count; +#endif n32->base.chunks[insertpos] = chunk; #ifdef RT_NODE_LEVEL_LEAF