[gnome-builder] code-index: improve binary search assertions
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] code-index: improve binary search assertions
- Date: Fri, 19 Jan 2018 09:58:55 +0000 (UTC)
commit 6cca88d49a67a495715a65419603dc7396660356
Author: Christian Hergert <chergert redhat com>
Date: Fri Jan 19 01:58:32 2018 -0800
code-index: improve binary search assertions
src/plugins/code-index/ide-persistent-map.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
---
diff --git a/src/plugins/code-index/ide-persistent-map.c b/src/plugins/code-index/ide-persistent-map.c
index 85883a017..14e48fafa 100644
--- a/src/plugins/code-index/ide-persistent-map.c
+++ b/src/plugins/code-index/ide-persistent-map.c
@@ -267,8 +267,17 @@ ide_persistent_map_lookup_value (IdePersistentMap *self,
while (l <= r)
{
- gint64 m = (l + r) / 2;
- gint cmp = g_strcmp0 (key, &self->keys [self->kvpairs [m].key]);
+ gint64 m;
+ gint32 k;
+ gint cmp;
+
+ m = (l + r) / 2;
+ g_assert (m >= 0);
+
+ k = self->kvpairs [m].key;
+ g_assert (k >= 0);
+
+ cmp = g_strcmp0 (key, &self->keys [k]);
if (cmp < 0)
r = m - 1;
@@ -279,9 +288,6 @@ ide_persistent_map_lookup_value (IdePersistentMap *self,
value = g_variant_get_child_value (self->values, self->kvpairs [m].value);
break;
}
-
- g_assert (l >= 0);
- g_assert (r >= 0);
}
if (value != NULL && self->byte_order != G_BYTE_ORDER)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]