void rb_dump(rb_node_t *root) { rb_node_t *p = NULL; p = root; if (p != NULL) { printf("%4d",p->key); rb_dump(p->left); rb_dump(p->right); } }
//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_dump(&rb); //close_shm(shm_fd); return EXIT_SUCCESS; }