… | |
… | |
257 | /* |
257 | /* |
258 | * do the same shuffling as fec_decode does here, |
258 | * do the same shuffling as fec_decode does here, |
259 | * so we know the order. |
259 | * so we know the order. |
260 | */ |
260 | */ |
261 | for (i = 0; i < self->dp; i++) |
261 | for (i = 0; i < self->dp; i++) |
262 | if (idx[i] < self->dp && idx[i] != i) |
262 | while (idx[i] < self->dp && idx[i] != i) |
263 | { |
263 | { |
264 | int c = idx[i]; |
|
|
265 | SV **a, **b; |
264 | SV **a, **b; |
266 | int d; |
265 | int d; |
267 | void *p; |
266 | void *p; |
268 | SV *s; |
267 | SV *s; |
|
|
268 | int c = idx[i]; |
269 | |
269 | |
270 | if (idx[c] == c) |
270 | if (idx[c] == c) |
271 | { |
271 | { |
272 | Safefree (idx); |
272 | Safefree (idx); |
273 | croak ("error while shuffling, duplicate indices?"); |
273 | croak ("error while shuffling, duplicate indices? (idx[i]%d i%d idx[c]%d c%d", idx[i],i,idx[c],c); |
274 | } |
274 | } |
275 | |
275 | |
276 | a = av_fetch ((AV *)SvRV (indices), i, 1); |
276 | a = av_fetch ((AV *)SvRV (indices), i, 1); |
277 | b = av_fetch ((AV *)SvRV (indices), c, 1); |
277 | b = av_fetch ((AV *)SvRV (indices), c, 1); |
278 | |
278 | |