X-Git-Url: http://git.squeep.com/?p=dcpu16;a=blobdiff_plain;f=dcpu16.c;h=b88cf0583a73148840a0b645e843578ded23fa03;hp=5b4825852cc8e6c53720d1f609ee88deb87006e2;hb=9cf5993655d58da3c9f508ede3ac43a29e6cc6b5;hpb=662d752f2adae37efcfa62354b2107c0d0de2d6d diff --git a/dcpu16.c b/dcpu16.c index 5b48258..b88cf05 100644 --- a/dcpu16.c +++ b/dcpu16.c @@ -93,7 +93,7 @@ void acct_event_(struct dcpu16 *vm, dcpu16_acct_event_ ev, DCPU16_WORD addr) { for (i = 0; i < vm->cb_table_entries_; i++) { if ( (cb[i].mask & ev) ) - cb[i].fn(vm, ev, addr); + cb[i].fn(vm, ev, addr, cb[i].data); } } @@ -763,11 +763,12 @@ void dcpu16_dump_ram(struct dcpu16 *d, DCPU16_WORD start, DCPU16_WORD end) { * Register callback fn to be triggered whenever event matching any events * in bitwise mask occur. */ -int dcpu16_acct_add(struct dcpu16 *vm, dcpu16_acct_event_ mask, void (*fn)(struct dcpu16 *, dcpu16_acct_event_, DCPU16_WORD)) { +int dcpu16_acct_add(struct dcpu16 *vm, dcpu16_acct_event_ mask, void (*fn)(struct dcpu16 *, dcpu16_acct_event_, DCPU16_WORD, void *), void *data) { struct dcpu16_acct_cb cb; cb.mask = mask; cb.fn = fn; + cb.data = data; if (vm->cb_table_entries_ == vm->cb_table_allocated_) { size_t new_entries = vm->cb_table_allocated_ + 32;