Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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;
}
Beispiel #4
0
static int destroy(RBinFile *arch) {
	r_bin_te_free ((struct r_bin_te_obj_t*)arch->o->bin_obj);
	return R_TRUE;
}