X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=dump.c;h=b34b5d411752e9d1da654277c053e0bd2dda48b4;hb=75e14d17912ce8a35d5c2b04c0c6e30b903ab97f;hp=cf9cf5deb083725cf67485fe1fdae9b1084400c6;hpb=5dc0d6134ebb76636f69238201dde15cec972fd0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/dump.c b/dump.c index cf9cf5d..b34b5d4 100644 --- a/dump.c +++ b/dump.c @@ -15,33 +15,26 @@ #include "EXTERN.h" #include "perl.h" -#ifndef DEBUGGING -void -dump_all() -{ -} -#else /* Rest of file is for DEBUGGING */ - -#ifdef I_STDARG +#ifndef PERL_OBJECT static void dump(char *pat, ...); -#else -static void dump(); -#endif +#endif /* PERL_OBJECT */ void -dump_all() +dump_all(void) { +#ifdef DEBUGGING dTHR; PerlIO_setlinebuf(Perl_debug_log); if (main_root) dump_op(main_root); dump_packsubs(defstash); +#endif /* DEBUGGING */ } void -dump_packsubs(stash) -HV* stash; +dump_packsubs(HV *stash) { +#ifdef DEBUGGING dTHR; I32 i; HE *entry; @@ -61,12 +54,13 @@ HV* stash; dump_packsubs(hv); /* nested package */ } } +#endif /* DEBUGGING */ } void -dump_sub(gv) -GV* gv; +dump_sub(GV *gv) { +#ifdef DEBUGGING SV *sv = sv_newmortal(); gv_fullname3(sv, gv, Nullch); @@ -79,12 +73,13 @@ GV* gv; dump_op(CvROOT(GvCV(gv))); else dump("\n"); +#endif /* DEBUGGING */ } void -dump_form(gv) -GV* gv; +dump_form(GV *gv) { +#ifdef DEBUGGING SV *sv = sv_newmortal(); gv_fullname3(sv, gv, Nullch); @@ -93,18 +88,21 @@ GV* gv; dump_op(CvROOT(GvFORM(gv))); else dump("\n"); +#endif /* DEBUGGING */ } void -dump_eval() +dump_eval(void) { +#ifdef DEBUGGING dump_op(eval_root); +#endif /* DEBUGGING */ } void -dump_op(o) -register OP *o; +dump_op(OP *o) { +#ifdef DEBUGGING dump("{\n"); if (o->op_seq) PerlIO_printf(Perl_debug_log, "%-4d", o->op_seq); @@ -313,12 +311,13 @@ register OP *o; } dumplvl--; dump("}\n"); +#endif /* DEBUGGING */ } void -dump_gv(gv) -register GV *gv; +dump_gv(GV *gv) { +#ifdef DEBUGGING SV *sv; if (!gv) { @@ -337,12 +336,13 @@ register GV *gv; dump("\n"); dumplvl--; dump("}\n"); +#endif /* DEBUGGING */ } void -dump_pm(pm) -register PMOP *pm; +dump_pm(PMOP *pm) { +#ifdef DEBUGGING char ch; if (!pm) { @@ -365,18 +365,17 @@ register PMOP *pm; dump("PMf_REPL = "); dump_op(pm->op_pmreplroot); } - if (pm->op_pmshort) { - dump("PMf_SHORT = %s\n",SvPEEK(pm->op_pmshort)); - } - if (pm->op_pmflags) { + if (pm->op_pmflags || (pm->op_pmregexp && pm->op_pmregexp->check_substr)) { SV *tmpsv = newSVpv("", 0); - if (pm->op_pmflags & PMf_USED) + if (pm->op_pmdynflags & PMdf_USED) sv_catpv(tmpsv, ",USED"); if (pm->op_pmflags & PMf_ONCE) sv_catpv(tmpsv, ",ONCE"); - if (pm->op_pmflags & PMf_SCANFIRST) + if (pm->op_pmregexp && pm->op_pmregexp->check_substr + && !(pm->op_pmregexp->reganch & ROPT_NOSCAN)) sv_catpv(tmpsv, ",SCANFIRST"); - if (pm->op_pmflags & PMf_ALL) + if (pm->op_pmregexp && pm->op_pmregexp->check_substr + && pm->op_pmregexp->reganch & ROPT_CHECK_ALL) sv_catpv(tmpsv, ",ALL"); if (pm->op_pmflags & PMf_SKIPWHITE) sv_catpv(tmpsv, ",SKIPWHITE"); @@ -388,6 +387,8 @@ register PMOP *pm; sv_catpv(tmpsv, ",GLOBAL"); if (pm->op_pmflags & PMf_CONTINUE) sv_catpv(tmpsv, ",CONTINUE"); + if (pm->op_pmflags & PMf_TAINTMEM) + sv_catpv(tmpsv, ",TAINTMEM"); if (pm->op_pmflags & PMf_EVAL) sv_catpv(tmpsv, ",EVAL"); dump("PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : ""); @@ -396,48 +397,21 @@ register PMOP *pm; dumplvl--; dump("}\n"); +#endif /* DEBUGGING */ } -#if !defined(I_STDARG) && !defined(I_VARARGS) -/* VARARGS1 */ -static void dump(arg1,arg2,arg3,arg4,arg5) -char *arg1; -long arg2, arg3, arg4, arg5; -{ - I32 i; - - for (i = dumplvl*4; i; i--) - (void)PerlIO_putc(Perl_debug_log,' '); - PerlIO_printf(Perl_debug_log, arg1, arg2, arg3, arg4, arg5); -} - -#else - -#ifdef I_STDARG -static void +STATIC void dump(char *pat,...) -#else -/*VARARGS0*/ -static void -dump(pat,va_alist) - char *pat; - va_dcl -#endif { +#ifdef DEBUGGING I32 i; va_list args; -#ifdef I_STDARG va_start(args, pat); -#else - va_start(args); -#endif for (i = dumplvl*4; i; i--) (void)PerlIO_putc(Perl_debug_log,' '); PerlIO_vprintf(Perl_debug_log,pat,args); va_end(args); +#endif /* DEBUGGING */ } -#endif - -#endif