static void test_rb(void) { //rbtree *tr = rb_cnew( 0, 0, 0, 0, 0, 0); rbtree *tr = rb_new(); char keybuf[100]; size_t valuebuf[] = { 1 }; size_t *vp; // while (fscanf(stdin, "%s", keybuf) == 1) { // vp = rb_get(tr, keybuf); // if (vp) // *vp += 1; // else // rb_add(tr, keybuf, valuebuf); // } // this is another faster version while (fscanf(stdin, "%s", keybuf) == 1) { vp = rb_fget(tr, keybuf); *vp += 1; } rb_set(tr, "a", valuebuf); *valuebuf = 123456789; rb_add(tr, "b", valuebuf); *valuebuf = 2; rb_set(tr, "c", valuebuf); rb_set(tr, "d", valuebuf); *valuebuf = 987654321; rb_update(tr,"a",valuebuf); rb_set(tr, "e", valuebuf); rb_print(tr); rb_clear(tr); rb_clear(tr); //just for test rb_free(tr); }
//main(int argc, char *argv[]) { int main(int argc, char *argv[]) { int shm_fd = 0, c; unsigned long long nb_bytes = 256000; char *logs = NULL; RINGBUFFER rb; opterr = 0; while((c = getopt(argc, argv, ARGS)) != -1) switch(c) { case 'n': nb_bytes = atoll(optarg); break; case '?': if (optopt == 'n') fprintf(stderr, "-%c: missing arguments\n", optopt); else if (isprint(optopt)) fprintf(stderr, "Unknown option `-%c'.\n", optopt); else fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt); break; default: break; } if ((shm_fd = open_shm(SHM_PATH)) < 0) MANAGE_ERROR("can't create shm", TRUE, EXIT_FAILURE); if ((logs = mmap(NULL, nb_bytes, PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0)) == MAP_FAILED) MANAGE_ERROR("mmap", TRUE, EXIT_FAILURE); rb_connect(&rb, logs, nb_bytes); rb_print(&rb); //close_shm(shm_fd); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { struct rb_tree tree; rb_init(&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_insert(11,&tree); rb_insert(14,&tree); rb_insert(2,&tree); rb_insert(1,&tree); rb_insert(7,&tree); rb_insert(5,&tree); rb_insert(8,&tree); rb_insert(4,&tree); rb_print(&tree); rb_free_elements(&tree); return 0; }