struct r_bin_te_obj_t* r_bin_te_new_buf(struct r_buf_t *buf) { struct r_bin_te_obj_t *bin = R_NEW0 (struct r_bin_te_obj_t); if (!bin) return NULL; bin->b = buf; bin->size = buf->length; if (!r_bin_te_init(bin)) return r_bin_te_free(bin); return bin; }
struct r_bin_te_obj_t* r_bin_te_new_buf(struct r_buf_t *buf) { struct r_bin_te_obj_t *bin = R_NEW0 (struct r_bin_te_obj_t); if (!bin) return NULL; bin->kv = sdb_new0 (); bin->b = r_buf_new (); bin->size = buf->length; if (!r_buf_set_bytes (bin->b, buf->buf, bin->size)){ return r_bin_te_free(bin); } if (!r_bin_te_init(bin)) return r_bin_te_free(bin); return bin; }
struct r_bin_te_obj_t* r_bin_te_new(const char* file) { ut8 *buf; struct r_bin_te_obj_t *bin = R_NEW0 (struct r_bin_te_obj_t); if (!bin) return NULL; bin->file = file; if (!(buf = (ut8*)r_file_slurp(file, &bin->size))) return r_bin_te_free(bin); bin->b = r_buf_new (); if (!r_buf_set_bytes (bin->b, buf, bin->size)) return r_bin_te_free(bin); free (buf); if (!r_bin_te_init(bin)) return r_bin_te_free(bin); return bin; }