From: Nicholas Clark Date: Mon, 1 Oct 2007 12:13:36 +0000 (+0000) Subject: Nothing is using IoSUBPROCESS() so eliminate xio_subprocess. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=040713559c543892d178ea76922b4743ec560c80;p=p5sagit%2Fp5-mst-13.2.git Nothing is using IoSUBPROCESS() so eliminate xio_subprocess. Make xio_flags a U8, which is what it should have been all along (rather than a char, which might be signed). B.xs had its wrapper as U8 p4raw-id: //depot/perl@32001 --- diff --git a/dump.c b/dump.c index c9c9bb4..26373b5 100644 --- a/dump.c +++ b/dump.c @@ -1865,7 +1865,6 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo do_sv_dump (level+1, file, (SV *) IoBOTTOM_GV(sv), nest+1, maxnest, dumpops, pvlim); } - Perl_dump_indent(aTHX_ level, file, " SUBPROCESS = %"IVdf"\n", (IV)IoSUBPROCESS(sv)); if (isPRINT(IoTYPE(sv))) Perl_dump_indent(aTHX_ level, file, " TYPE = '%c'\n", IoTYPE(sv)); else diff --git a/ext/B/B.xs b/ext/B/B.xs index 4370c3e..14af877 100644 --- a/ext/B/B.xs +++ b/ext/B/B.xs @@ -1728,10 +1728,14 @@ B::GV IoBOTTOM_GV(io) B::IO io +#if PERL_VERSION <= 8 + short IoSUBPROCESS(io) B::IO io +#endif + bool IsSTD(io,name) B::IO io diff --git a/sv.h b/sv.h index dd13505..f12780f 100644 --- a/sv.h +++ b/sv.h @@ -745,9 +745,8 @@ struct xpvio { GV * xio_fmt_gv; /* $~ */ char * xio_bottom_name;/* $^B */ GV * xio_bottom_gv; /* $^B */ - short xio_subprocess; /* -| or |- */ char xio_type; - char xio_flags; + U8 xio_flags; }; #define xio_dirp xio_dirpu.xiou_dirp #define xio_any xio_dirpu.xiou_any @@ -1498,7 +1497,6 @@ the scalar's value cannot change unless written to. #define IoFMT_GV(sv) ((XPVIO*) SvANY(sv))->xio_fmt_gv #define IoBOTTOM_NAME(sv)((XPVIO*) SvANY(sv))->xio_bottom_name #define IoBOTTOM_GV(sv) ((XPVIO*) SvANY(sv))->xio_bottom_gv -#define IoSUBPROCESS(sv)((XPVIO*) SvANY(sv))->xio_subprocess #define IoTYPE(sv) ((XPVIO*) SvANY(sv))->xio_type #define IoFLAGS(sv) ((XPVIO*) SvANY(sv))->xio_flags