|
|
| version 1.1.2.2, 2011/05/03 14:22:18 | version 1.1.2.4, 2011/05/03 14:48:49 |
|---|---|
| Line 174 io_sarrSet(sarr_t * __restrict arr, u_int idx, void *d | Line 174 io_sarrSet(sarr_t * __restrict arr, u_int idx, void *d |
| return ret; | return ret; |
| seg = arr->sarr_data[idx / arr->sarr_seg]; | seg = arr->sarr_data[idx / arr->sarr_seg]; |
| if (seg) { | if (!seg) { |
| pos = idx % arr->sarr_seg; | seg = calloc(arr->sarr_seg, sizeof(void*)); |
| ret = seg[pos]; | if (!seg) { |
| seg[pos] = data; | LOGERR; |
| return ret; | |
| } else | |
| memset(seg, 0, arr->sarr_seg * sizeof(void*)); | |
| arr->sarr_data[idx / arr->sarr_seg] = seg; | |
| } | } |
| pos = idx % arr->sarr_seg; | |
| ret = seg[pos]; | |
| seg[pos] = data; | |
| return ret; | return ret; |
| } | } |