Fix Windows compilation warnings (#4209)

* Fix 'bool' differs in levels of indirection from 'void *'
* Fix function declaration.
This commit is contained in:
Giovanni 2024-02-12 14:28:04 +08:00 committed by GitHub
parent 4b5cd86682
commit 29b2093650
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 33 additions and 29 deletions

View file

@ -174,7 +174,7 @@ static bool hexagon_fini(void *user) {
return true;
}
RZ_API RZ_BORROW RzConfig *hexagon_get_config() {
RZ_API RZ_BORROW RzConfig *hexagon_get_config(void) {
HexState *state = hexagon_get_state();
rz_return_val_if_fail(state, NULL);
return state->cfg;

View file

@ -23,9 +23,8 @@ RZ_API void rz_bin_dwarf_aranges_free(RZ_OWN RZ_NULLABLE RzBinDwarfARanges *aran
free(aranges);
}
static bool RzBinDwarfARanges_parse(
RzBinDwarfARanges *aranges) {
rz_return_val_if_fail(aranges, NULL);
static bool RzBinDwarfARanges_parse(RzBinDwarfARanges *aranges) {
rz_return_val_if_fail(aranges, false);
RzBinEndianReader *reader = aranges->reader;
// DWARF 3 Standard Section 6.1.2 Lookup by Address
// also useful to grep for display_debug_aranges in binutils

View file

@ -4,7 +4,8 @@
#include <rz_bin_dwarf.h>
#include "dwarf_private.h"
RZ_API const ut8 *rz_bin_dwarf_block_data(const RzBinDwarfBlock *self) {
RZ_API RZ_BORROW const ut8 *rz_bin_dwarf_block_data(RZ_NONNULL const RzBinDwarfBlock *self) {
rz_return_val_if_fail(self, NULL);
return self->length < RZ_ARRAY_SIZE(self->data) ? self->data : self->ptr;
}
@ -33,8 +34,8 @@ RZ_IPI RzBinDwarfBlock *RzBinDwarfBlock_cpy(RzBinDwarfBlock *self, RzBinDwarfBlo
return out;
}
RZ_API bool rz_bin_dwarf_block_valid(const RzBinDwarfBlock *self) {
rz_return_val_if_fail(self, NULL);
RZ_API bool rz_bin_dwarf_block_valid(RZ_NONNULL const RzBinDwarfBlock *self) {
rz_return_val_if_fail(self, false);
if (self->length == 0) {
return true;
}
@ -44,8 +45,8 @@ RZ_API bool rz_bin_dwarf_block_valid(const RzBinDwarfBlock *self) {
return true;
}
RZ_API bool rz_bin_dwarf_block_empty(const RzBinDwarfBlock *self) {
rz_return_val_if_fail(self, NULL);
RZ_API bool rz_bin_dwarf_block_empty(RZ_NONNULL const RzBinDwarfBlock *self) {
rz_return_val_if_fail(self, false);
return self->length == 0;
}
@ -70,7 +71,8 @@ RZ_IPI bool RzBinDwarfBlock_move(RzBinDwarfBlock *self, RzBinDwarfBlock *out) {
return true;
}
RZ_API void rz_bin_dwarf_block_dump(const RzBinDwarfBlock *self, RzStrBuf *sb) {
RZ_API void rz_bin_dwarf_block_dump(RZ_NONNULL const RzBinDwarfBlock *self, RZ_NONNULL RzStrBuf *sb) {
rz_return_if_fail(self && sb);
if (self->length == 0) {
rz_strbuf_appendf(sb, " <null>");
return;

View file

@ -135,38 +135,38 @@ RZ_IPI bool Value_parse_into(
value->type = value_type;
switch (value_type) {
case RzBinDwarfValueType_I8:
READ8_OR(st8, value->i8, return NULL);
READ8_OR(st8, value->i8, return false);
break;
case RzBinDwarfValueType_U8:
READ8_OR(ut8, value->u8, return NULL);
READ8_OR(ut8, value->u8, return false);
break;
case RzBinDwarfValueType_I16:
READ_T_OR(16, st16, value->i16, return NULL);
READ_T_OR(16, st16, value->i16, return false);
break;
case RzBinDwarfValueType_U16:
READ_T_OR(16, ut16, value->u16, return NULL);
READ_T_OR(16, ut16, value->u16, return false);
break;
case RzBinDwarfValueType_I32:
READ_T_OR(32, st32, value->i32, return NULL);
READ_T_OR(32, st32, value->i32, return false);
break;
case RzBinDwarfValueType_U32:
READ_T_OR(32, ut32, value->u32, return NULL);
READ_T_OR(32, ut32, value->u32, return false);
break;
case RzBinDwarfValueType_I64:
READ_T_OR(64, st64, value->i64, return NULL);
READ_T_OR(64, st64, value->i64, return false);
break;
case RzBinDwarfValueType_U64:
READ_UT_OR(64, value->u64, return NULL);
READ_UT_OR(64, value->u64, return false);
break;
case RzBinDwarfValueType_I128:
case RzBinDwarfValueType_U128:
RZ_LOG_ERROR("I128/U128 not supported\n")
return NULL;
return false;
case RzBinDwarfValueType_F32:
READ_T_OR(32, float, value->f32, return NULL);
READ_T_OR(32, float, value->f32, return false);
break;
case RzBinDwarfValueType_F64:
READ_T_OR(64, double, value->f64, return NULL);
READ_T_OR(64, double, value->f64, return false);
break;
default:
return false;

View file

@ -145,7 +145,7 @@ static void break_debugger(void *user) {
do_break = true;
}
static int windbg_wait(RzDebug *dbg, int pid) {
static RzDebugReasonType windbg_wait(RzDebug *dbg, int pid) {
DbgEngContext *idbg = dbg->plugin_data;
rz_return_val_if_fail(idbg && idbg->initialized, 0);
ULONG Type, ProcessId, ThreadId;

View file

@ -1802,10 +1802,10 @@ RZ_API RZ_OWN RzBinDwarfRngLists *rz_bin_dwarf_rnglists_new_from_file(
RZ_BORROW RZ_NONNULL RzBinFile *bf, bool is_dwo);
/// Block
RZ_API bool rz_bin_dwarf_block_valid(const RzBinDwarfBlock *self);
RZ_API bool rz_bin_dwarf_block_empty(const RzBinDwarfBlock *self);
RZ_API void rz_bin_dwarf_block_dump(const RzBinDwarfBlock *self, RzStrBuf *sb);
RZ_API const ut8 *rz_bin_dwarf_block_data(const RzBinDwarfBlock *self);
RZ_API bool rz_bin_dwarf_block_valid(RZ_NONNULL const RzBinDwarfBlock *self);
RZ_API bool rz_bin_dwarf_block_empty(RZ_NONNULL const RzBinDwarfBlock *self);
RZ_API void rz_bin_dwarf_block_dump(RZ_NONNULL const RzBinDwarfBlock *self, RZ_NONNULL RzStrBuf *sb);
RZ_API RZ_BORROW const ut8 *rz_bin_dwarf_block_data(RZ_NONNULL const RzBinDwarfBlock *self);
/// addr
RZ_API bool rz_bin_dwarf_addr_get(

View file

@ -19,17 +19,20 @@
: vec->capacity <= 12 ? vec->capacity * 2 \
: vec->capacity + (vec->capacity >> 1))
#define RESIZE_OR_RETURN_NULL(next_capacity) \
#define RESIZE_OR_RETURN_VAL(next_capacity, retval) \
do { \
size_t new_capacity = next_capacity; \
void **new_a = realloc(vec->a, vec->elem_size * new_capacity); \
if (!new_a && new_capacity) { \
return NULL; \
return retval; \
} \
vec->a = new_a; \
vec->capacity = new_capacity; \
} while (0)
#define RESIZE_OR_RETURN_NULL(next_capacity) RESIZE_OR_RETURN_VAL(next_capacity, NULL)
#define RESIZE_OR_RETURN_FALSE(next_capacity) RESIZE_OR_RETURN_VAL(next_capacity, false)
RZ_API void rz_vector_init(RzVector *vec, size_t elem_size, RzVectorFree free, void *free_user) {
rz_return_if_fail(vec);
vec->a = NULL;
@ -456,7 +459,7 @@ RZ_API bool rz_pvector_join(RZ_NONNULL RzPVector *pvec1, RZ_NONNULL RzPVector *p
}
RzVector *vec = &pvec1->v;
RESIZE_OR_RETURN_NULL(RZ_MAX(NEXT_VECTOR_CAPACITY, pvec1->v.len + pvec2->v.len));
RESIZE_OR_RETURN_FALSE(RZ_MAX(NEXT_VECTOR_CAPACITY, pvec1->v.len + pvec2->v.len));
memmove((void **)pvec1->v.a + pvec1->v.len, pvec2->v.a, pvec2->v.elem_size * pvec2->v.len);
pvec1->v.len += pvec2->v.len;