fix Go binding C99 regression

This commit is contained in:
Ryan Hileman 2016-04-05 19:32:19 -07:00
parent 400f396a2a
commit 4e9dc1d8e6

View file

@ -4,7 +4,8 @@
uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out, int count) { uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out, int count) {
void **val_ref = malloc(sizeof(void *) * count); void **val_ref = malloc(sizeof(void *) * count);
for (int i = 0; i < count; i++) { int i;
for (i = 0; i < count; i++) {
val_ref[i] = (void *)&val_out[i]; val_ref[i] = (void *)&val_out[i];
} }
uc_err ret = uc_reg_read_batch(handle, regs, val_ref, count); uc_err ret = uc_reg_read_batch(handle, regs, val_ref, count);
@ -13,11 +14,12 @@ uc_err uc_reg_read_batch_helper(uc_engine *handle, int *regs, uint64_t *val_out,
} }
uc_err uc_reg_write_batch_helper(uc_engine *handle, int *regs, uint64_t *val_in, int count) { uc_err uc_reg_write_batch_helper(uc_engine *handle, int *regs, uint64_t *val_in, int count) {
const void **val_ref = malloc(sizeof(void *) * count); void **val_ref = malloc(sizeof(void *) * count);
for (int i = 0; i < count; i++) { int i;
for (i = 0; i < count; i++) {
val_ref[i] = (void *)&val_in[i]; val_ref[i] = (void *)&val_in[i];
} }
uc_err ret = uc_reg_write_batch(handle, regs, val_ref, count); uc_err ret = uc_reg_write_batch(handle, regs, (void *const *)val_ref, count);
free(val_ref); free(val_ref);
return ret; return ret;
} }