Kill tinyrange api because it's not used anywhere (#17027)

This commit is contained in:
pancake 2020-06-09 21:20:16 +02:00 committed by GitHub
parent 1e1a263cab
commit 7bdafe5638
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1 additions and 226 deletions

View File

@ -5,19 +5,6 @@
extern "C" {
#endif
typedef struct r_range_tiny_t {
int pairs;
int count;
ut64 *ranges;
} RRangeTiny;
R_API RRangeTiny *r_tinyrange_new(void);
R_API void r_tinyrange_init(RRangeTiny *bbr);
R_API void r_tinyrange_fini(RRangeTiny *bbr);
R_API bool r_tinyrange_in(RRangeTiny *bbr, ut64 at);
R_API bool r_tinyrange_add(RRangeTiny *bbr, ut64 from, ut64 to);
R_API void r_tinyrange_free(RRangeTiny *bbr);
/* range.c */
typedef struct r_range_item_t {

View File

@ -11,7 +11,7 @@ LINK=-lm
endif
endif
OBJS=binheap.o mem.o unum.o str.o hex.o file.o range.o tinyrange.o
OBJS=binheap.o mem.o unum.o str.o hex.o file.o range.o
OBJS+=prof.o cache.o sys.o buf.o w32-sys.o ubase64.o base85.o base91.o
OBJS+=list.o flist.o chmod.o graph.o event.o alloc.o donut.o print_code.o
OBJS+=regex/regcomp.o regex/regerror.o regex/regexec.o uleb128.o

View File

@ -66,7 +66,6 @@ r_util_sources = [
'thread_lock.c',
'thread_cond.c',
'thread_pipe.c',
'tinyrange.c',
'tree.c',
'pj.c',
'ubase64.c',

View File

@ -1,106 +0,0 @@
/* radare2 - LGPL - Copyright 2016 - alvarofe */
#include <r_util.h>
R_API RRangeTiny *r_tinyrange_new() {
return R_NEW0 (RRangeTiny);
}
R_API void r_tinyrange_init(RRangeTiny *bbr) {
bbr->count = 0;
bbr->pairs = 0;
bbr->ranges = NULL;
}
R_API void r_tinyrange_fini(RRangeTiny *bbr) {
bbr->count = 0;
bbr->pairs = 0;
R_FREE (bbr->ranges);
}
R_API void r_tinyrange_free(RRangeTiny *bbr) {
r_tinyrange_fini (bbr);
R_FREE (bbr);
}
//bool value if true return bb->addr otherwise a boolean to notify was found
R_API bool r_tinyrange_in(RRangeTiny *bbr, ut64 at) {
if (bbr->pairs > 0) {
int idx, lastIndex = ((bbr->pairs - 1) * 2);
if (at < bbr->ranges[0]) {
return false;
}
if (at > bbr->ranges[lastIndex + 1]) {
return false;
}
idx = lastIndex / 2;
if (idx % 2) {
idx--;
}
while (idx <= lastIndex + 1 && idx >= 0) {
if (at >= bbr->ranges[idx] && at < bbr->ranges[idx + 1]) {
return true;
}
if (idx >= lastIndex) {
return false;
}
if (at < bbr->ranges[idx]) {
lastIndex = idx;
idx -= (idx / 2);
if (idx % 2) {
idx--;
}
} else {
idx += ((lastIndex - idx) / 2);
if (idx % 2) {
idx++;
}
}
}
}
return false;
}
/* must be always called in a sorted way */
R_API bool r_tinyrange_add(RRangeTiny *bbr, ut64 from, ut64 to) {
if (from >= to) {
return false;
}
if (bbr->pairs > 0) {
int idx = (bbr->pairs - 1) * 2;
if (from == bbr->ranges[idx + 1]) {
bbr->ranges[idx + 1] = to;
} else {
bbr->pairs++;
idx += 2;
void *ranges = realloc (bbr->ranges, sizeof (ut64) * bbr->pairs * 2);
if (!ranges) {
bbr->pairs--;
return false;
}
bbr->ranges = ranges;
bbr->ranges[idx] = from;
bbr->ranges[idx + 1] = to;
}
} else {
bbr->pairs = 1;
bbr->ranges = calloc (sizeof (ut64), 2);
bbr->ranges[0] = from;
bbr->ranges[1] = to;
}
bbr->count++;
return true;
}
#if 0
main() {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 100, 200);
r_tinyrange_add (bbr, 300, 400);
r_tinyrange_add (bbr, 400, 500);
eprintf ("%d\n", r_tinyrange_in (bbr, 100));
eprintf ("%d\n", r_tinyrange_in (bbr, 250));
eprintf ("%d\n", r_tinyrange_in (bbr, 450));
// r_tinyrange_free (bbr);
}
#endif

View File

@ -31,7 +31,6 @@ if get_option('enable_tests')
'pj',
'queue',
'r2r',
'range',
'rbtree',
'skiplist',
'spaces',

View File

@ -1,104 +0,0 @@
#include <r_util.h>
#include "minunit.h"
#define BUF_LENGTH 100
bool test_r_tinyrange_in(void) {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 100, 200);
r_tinyrange_add (bbr, 300, 400);
r_tinyrange_add (bbr, 400, 500);
r_tinyrange_add (bbr, 600, 800);
r_tinyrange_add (bbr, 750, 900);
mu_assert_eq (true, r_tinyrange_in (bbr, 100), "Failed first");
mu_assert_eq (false, r_tinyrange_in (bbr, 250), "Failed second");
mu_assert_eq (true, r_tinyrange_in (bbr, 450), "Failed thirst");
mu_assert_eq (true, r_tinyrange_in (bbr, 750), "Failed fourth");
mu_assert_eq (true, r_tinyrange_in (bbr, 880), "Failed fifth");
mu_assert_eq (false, r_tinyrange_in (bbr, 50), "Failed sixth");
r_tinyrange_fini (bbr);
free (bbr);
mu_end;
}
bool test_r_tinyrange_in_two(void) {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 4199920, 4200121);
r_tinyrange_add (bbr, 4200128, 4200215);
r_tinyrange_add (bbr, 4200262, 4200298); //4,5
r_tinyrange_add (bbr, 4200304, 4200575);
r_tinyrange_add (bbr, 4200576, 4200654);
r_tinyrange_add (bbr, 4200656, 4200812);
mu_assert_eq (true, r_tinyrange_in (bbr, 4200288), "Failed two");
r_tinyrange_fini (bbr);
free (bbr);
mu_end;
}
bool test_r_tinyrange_in_r2(void) {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x5110, 0x5112);
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x50fb, 0x5107);
r_tinyrange_add (bbr, 0x5110, 0x5112);
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x50fb, 0x5107);
r_tinyrange_add (bbr, 0x5107, 0x510a);
r_tinyrange_add (bbr, 0x5110, 0x5112);
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x50fb, 0x5107);
r_tinyrange_add (bbr, 0x5107, 0x510a);
r_tinyrange_add (bbr, 0x5110, 0x5112);
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x50fb, 0x5107);
r_tinyrange_add (bbr, 0x5107, 0x510a);
r_tinyrange_add (bbr, 0x5110, 0x5112);
r_tinyrange_add (bbr, 0x50e0, 0x50fb);
r_tinyrange_add (bbr, 0x50fb, 0x5107);
r_tinyrange_add (bbr, 0x5107, 0x510a);
r_tinyrange_add (bbr, 0x5110, 0x5112);
mu_assert_eq (true, r_tinyrange_in (bbr, 0x5110), "Failed inr2");
r_tinyrange_fini (bbr);
free (bbr);
mu_end;
}
bool test_r_tinyrange_in_three(void) {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 4294981054, 4294981108);
r_tinyrange_add (bbr, 4294982988, 4294983738); //2,3
r_tinyrange_add (bbr, 4294984100, 4294984477);
r_tinyrange_add (bbr, 4294984485, 4294984703);
mu_assert_eq (false, r_tinyrange_in (bbr, 4294983738), "Failed three");
r_tinyrange_fini (bbr);
free (bbr);
mu_end;
}
bool test_r_tinyrange_in_four(void) {
RRangeTiny *bbr = r_tinyrange_new ();
r_tinyrange_add (bbr, 20704, 20746);
r_tinyrange_add (bbr, 20752, 20754); //2,3
mu_assert_eq (true, r_tinyrange_in (bbr, 20752), "Failed four");
r_tinyrange_fini (bbr);
free (bbr);
mu_end;
}
int all_tests() {
mu_run_test (test_r_tinyrange_in);
mu_run_test (test_r_tinyrange_in_r2);
mu_run_test (test_r_tinyrange_in_two);
mu_run_test (test_r_tinyrange_in_three);
mu_run_test (test_r_tinyrange_in_four);
return tests_passed != tests_run;
}
int main(int argc, char **argv) {
return all_tests();
}