… | |
… | |
42 | # define PadARRAY AvARRAY |
42 | # define PadARRAY AvARRAY |
43 | # define PadMAX AvFILLp |
43 | # define PadMAX AvFILLp |
44 | # define newPADLIST(var) ((var) = newAV (), av_extend (var, 1)) |
44 | # define newPADLIST(var) ((var) = newAV (), av_extend (var, 1)) |
45 | #endif |
45 | #endif |
46 | |
46 | |
|
|
47 | /* 5.19.something has replaced SVt_BIND by SVt_INVLIST */ |
|
|
48 | /* we just alias it to SVt_IV, as that is sufficient for swap_sv for now */ |
|
|
49 | #if PERL_VERSION_ATLEAST(5,19,0) |
|
|
50 | # define SVt_BIND SVt_IV |
|
|
51 | #endif |
|
|
52 | |
47 | #if defined(_WIN32) |
53 | #if defined(_WIN32) |
48 | # undef HAS_GETTIMEOFDAY |
54 | # undef HAS_GETTIMEOFDAY |
49 | # undef setjmp |
55 | # undef setjmp |
50 | # undef longjmp |
56 | # undef longjmp |
51 | # undef _exit |
57 | # undef _exit |
… | |
… | |
564 | |
570 | |
565 | while (i > 0) /* special-case index 0 */ |
571 | while (i > 0) /* special-case index 0 */ |
566 | { |
572 | { |
567 | /* we try to be extra-careful here */ |
573 | /* we try to be extra-careful here */ |
568 | PAD *pad = PadlistARRAY (padlist)[i--]; |
574 | PAD *pad = PadlistARRAY (padlist)[i--]; |
|
|
575 | |
|
|
576 | if (pad) |
|
|
577 | { |
569 | I32 j = PadMAX (pad); |
578 | I32 j = PadMAX (pad); |
570 | |
579 | |
571 | while (j >= 0) |
580 | while (j >= 0) |
572 | SvREFCNT_dec (PadARRAY (pad)[j--]); |
581 | SvREFCNT_dec (PadARRAY (pad)[j--]); |
573 | |
582 | |
574 | PadMAX (pad) = -1; |
583 | PadMAX (pad) = -1; |
575 | SvREFCNT_dec (pad); |
584 | SvREFCNT_dec (pad); |
|
|
585 | } |
576 | } |
586 | } |
577 | |
587 | |
578 | SvREFCNT_dec (PadlistNAMES (padlist)); |
588 | SvREFCNT_dec (PadlistNAMES (padlist)); |
579 | |
589 | |
580 | #if NEWPADAPI |
590 | #if NEWPADAPI |