blob: 43cb568ab02625d66dc88b8ec80d7a066170fa54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include "slices_evt.h"
int sliceSplitEvt(slices_evt_t *slicesEvt, slice_t *initialSlice, address_t splitAt, sliceStatus_t statusBefore, sliceStatus_t statusAt, sliceStatus_t statusAfter) {
int res;
res=sliceSplit(slicesEvt->data, initialSlice, splitAt, statusBefore, statusAt, statusAfter);
if ( slicesEvt->eventListener != NULL ) {
//FIXME : this could be dereference a NULL pointer. Implement a real listener system with a thread-safe FIFO
switch(res) {
case 3:
slicesEvt->eventListener(slicesEvt, initialSlice->next->next);
case 2:
slicesEvt->eventListener(slicesEvt, initialSlice->next);
case 1:
slicesEvt->eventListener(slicesEvt, initialSlice);
break;
default:
// No events on split errors
break;
}
}
return res;
}
|