From 69b9f062e4b3af4c6f1a38ba2de86ad4759da829 Mon Sep 17 00:00:00 2001 From: lion Date: Wed, 17 Sep 2025 14:45:03 +0800 Subject: [PATCH] directly compare the ip from the buffer --- binding/c/xdb_searcher.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/binding/c/xdb_searcher.c b/binding/c/xdb_searcher.c index eff9075..d49efef 100644 --- a/binding/c/xdb_searcher.c +++ b/binding/c/xdb_searcher.c @@ -70,9 +70,9 @@ XDB_PUBLIC(int) xdb_search_by_string(xdb_searcher_t *xdb, const char *ip_string, } XDB_PUBLIC(int) xdb_search(xdb_searcher_t *xdb, const bytes_ip_t *ip_bytes, int byte_count, char *region_buffer, size_t length) { - int il0, il1, idx, err, data_len, bytes, d_bytes; - register int seg_index_size, l, h, m; - unsigned int s_ptr, e_ptr, p, sip, eip, data_ptr; + int il0, il1, idx, err, bytes, d_bytes; + register int seg_index_size, l, h, m, p; + unsigned int s_ptr, e_ptr, data_ptr, data_len; char vector_buffer[xdb_vector_index_size]; char *segment_buffer = NULL; @@ -130,7 +130,6 @@ XDB_PUBLIC(int) xdb_search(xdb_searcher_t *xdb, const bytes_ip_t *ip_bytes, int } // decode the data fields as needed - sip = xdb_le_get_uint32(segment_buffer, 0); if (xdb_ip_sub_compare(ip_bytes, byte_count, segment_buffer, 0) < 0) { h = m - 1; } else if (xdb_ip_sub_compare(ip_bytes, byte_count, segment_buffer, bytes) > 0) {