This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix off-by-one error in inversion lists.
[perl5.git] / pad.h
diff --git a/pad.h b/pad.h
index a0b5573..26e183c 100644 (file)
--- a/pad.h
+++ b/pad.h
@@ -31,8 +31,7 @@ typedef U64TYPE PADOFFSET;
 struct padlist {
     SSize_t    xpadl_max;      /* max index for which array has space */
     PAD **     xpadl_alloc;    /* pointer to beginning of array of AVs */
-    U32                xpadl_id;       /* Semi-unique ID, shared between clones */
-    U32                xpadl_outid;    /* ID of outer pad */
+    PADNAMELIST*xpadl_outid;   /* Padnamelist of outer pad; used as ID */
 };
 
 
@@ -172,7 +171,7 @@ XXX DAPM it would make more sense to make the arg a PADOFFSET
 Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my')
 
 =for apidoc m|void|SAVECOMPPAD
-Save PL_comppad_name, PL_comppad and PL_curpad.
+save PL_comppad and PL_curpad
 
 
 =for apidoc Amx|PAD **|PadlistARRAY|PADLIST padlist
@@ -318,7 +317,6 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
 
 
 #define PAD_SET_CUR_NOSAVE(padlist,nth) \
-       PL_comppad_name = PadlistNAMES(padlist);                \
        PL_comppad = (PAD*) (PadlistARRAY(padlist)[nth]);       \
        PL_curpad = AvARRAY(PL_comppad);                        \
        DEBUG_Xv(PerlIO_printf(Perl_debug_log,                  \