Rename lowercase codemeta structs and other fixes

This commit is contained in:
pancake 2021-03-30 00:35:12 +02:00
parent e3944b27ef
commit 924b6600e7
2 changed files with 15 additions and 10 deletions

View File

@ -14,6 +14,10 @@ R_API RCodeMeta *r_codemeta_new(const char *code) {
return r;
}
R_API RCodeMetaItem *r_codemeta_item_new(void) {
return R_NEW0 (RCodeMetaItem);
}
R_API void r_codemeta_item_free(RCodeMetaItem *mi, void *user) {
(void)user;
if (mi->type == R_CODEMETA_TYPE_FUNCTION_NAME) {
@ -47,7 +51,7 @@ R_API void r_codemeta_add_annotation(RCodeMeta *code, RCodeMetaItem *mi) {
r_vector_push (&code->annotations, mi);
}
R_API RPVector *r_codemeta_at(RCodeMeta *code, ut64 offset) {
R_API RPVector *r_codemeta_at(RCodeMeta *code, size_t offset) {
r_return_val_if_fail (code, NULL);
RPVector *r = r_pvector_new (NULL);
if (!r) {
@ -62,7 +66,7 @@ R_API RPVector *r_codemeta_at(RCodeMeta *code, ut64 offset) {
return r;
}
R_API RPVector *r_codemeta_in(RCodeMeta *code, ut64 start, ut64 end) {
R_API RPVector *r_codemeta_in(RCodeMeta *code, size_t start, size_t end) {
r_return_val_if_fail (code, NULL);
RPVector *r = r_pvector_new (NULL);
if (!r) {
@ -84,11 +88,11 @@ R_API RVector *r_codemeta_line_offsets(RCodeMeta *code) {
if (!r) {
return NULL;
}
ut64 cur = 0;
size_t cur = 0;
size_t len = strlen (code->code);
do {
char *next = strchr (code->code + cur, '\n');
ut64 next_i = next? (next - code->code) + 1: len;
size_t next_i = next? (next - code->code) + 1: len;
RPVector *annotations = r_codemeta_in (code, cur, next_i);
ut64 offset = UT64_MAX;
void **it;

View File

@ -36,9 +36,9 @@ typedef enum r_code_annotation_type_t {
/**
* \brief Annotations for the decompiled code are represented using this structure.
*/
typedef struct r_code_annotation_t {
ut64 start;
ut64 end;
typedef struct r_codemeta_item_t {
size_t start;
size_t end;
RCodeMetaItemType type;
union {
struct {
@ -59,19 +59,20 @@ typedef struct r_code_annotation_t {
};
} RCodeMetaItem;
typedef struct r_codemeta_code_t {
typedef struct r_codemeta_t {
char *code; /**< Decompiled code. RCodeMeta owns this string and it must free it. */
RVector annotations; /**< @ref RVector <RCodeMetaItem> contains the list of annotations for the decompiled code. */
} RCodeMeta;
R_API RCodeMeta *r_codemeta_new(const char *code);
R_API void r_codemeta_free(RCodeMeta *code);
R_API RCodeMetaItem *r_codemeta_item_new(void);
R_API void r_codemeta_item_free(RCodeMetaItem *e, void *user);
R_API bool r_codemeta_item_is_reference(RCodeMetaItem *annotation);
R_API bool r_codemeta_item_is_variable(RCodeMetaItem *annotation);
R_API void r_codemeta_add_annotation(RCodeMeta *code, RCodeMetaItem *annotation);
R_API RPVector *r_codemeta_at(RCodeMeta *code, ut64 offset);
R_API RPVector *r_codemeta_in(RCodeMeta *code, ut64 start, ut64 end);
R_API RPVector *r_codemeta_at(RCodeMeta *code, size_t offset);
R_API RPVector *r_codemeta_in(RCodeMeta *code, size_t start, size_t end);
R_API RVector *r_codemeta_line_offsets(RCodeMeta *code);
#ifdef __cplusplus