… | |
… | |
2370 | SV **ary; |
2370 | SV **ary; |
2371 | |
2371 | |
2372 | /* unfortunately, building manually saves memory */ |
2372 | /* unfortunately, building manually saves memory */ |
2373 | Newx (ary, 2, SV *); |
2373 | Newx (ary, 2, SV *); |
2374 | AvALLOC (av) = ary; |
2374 | AvALLOC (av) = ary; |
|
|
2375 | #if PERL_VERSION_ATLEAST (5,10,0) |
2375 | /*AvARRAY (av) = ary;*/ |
2376 | AvARRAY (av) = ary; |
|
|
2377 | #else |
2376 | SvPVX ((SV *)av) = (char *)ary; /* 5.8.8 needs this syntax instead of AvARRAY = ary */ |
2378 | /* 5.8.8 needs this syntax instead of AvARRAY = ary, yet */ |
|
|
2379 | /* -DDEBUGGING flags this as a bug, despite it perfectly working */ |
|
|
2380 | SvPVX ((SV *)av) = (char *)ary; |
|
|
2381 | #endif |
2377 | AvMAX (av) = 1; |
2382 | AvMAX (av) = 1; |
2378 | AvFILLp (av) = 0; |
2383 | AvFILLp (av) = 0; |
2379 | ary [0] = newSViv (count); |
2384 | ary [0] = newSViv (count); |
2380 | |
2385 | |
2381 | return newRV_noinc ((SV *)av); |
2386 | return newRV_noinc ((SV *)av); |