File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -674,6 +674,14 @@ PadnameGEN(padn)
674674 OUTPUT :
675675 RETVAL
676676
677+ bool
678+ PadnameIsUndef (padn )
679+ B ::PADNAME padn
680+ CODE :
681+ RETVAL = padn == & PL_padname_undef ? TRUE : FALSE;
682+ OUTPUT :
683+ RETVAL
684+
677685MODULE = B PACKAGE = B ::INVLIST PREFIX = Invlist
678686
679687int
Original file line number Diff line number Diff line change @@ -13,15 +13,17 @@ our $MAX_PADNAME_LENGTH = 1;
1313sub do_save {
1414 my ( $pn , $fullname ) = @_ ;
1515
16+ return q[ &PL_padname_undef] if $pn -> IsUndef;
17+
1618 my ( $ix , $sym ) = padnamesect()-> reserve($pn );
1719 padnamesect()-> debug( $fullname , $pn );
1820
1921 my $refcnt = $pn -> REFCNT;
22+ my $pv = $pn -> PVX;
2023
21- my $pv = $pn -> PVX;
2224 my $xpadn_str = cstring($pv ) || ' {0}' ;
2325
24- my $xpadn_pv = $ix ? sprintf ( " ((char*)%s )+STRUCT_OFFSET(struct padname_with_str, xpadn_str[0])" , $sym ) : ' NULL ' ;
26+ my $xpadn_pv = sprintf ( " ((char*)%s )+STRUCT_OFFSET(struct padname_with_str, xpadn_str[0])" , $sym );
2527
2628 # Track the largest padname length to determine the size of the struct.
2729 my $xpadn_len = $pn -> LEN;
You can’t perform that action at this time.
0 commit comments