This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
runops becomes a funtion pointer and sv_bless3 created
[perl5.git]
/
run.c
diff --git
a/run.c
b/run.c
index
3be9825
..
1e1001d
100644
(file)
--- a/
run.c
+++ b/
run.c
@@
-1,6
+1,6
@@
/* run.c
*
/* run.c
*
- * Copyright (c) 1991-199
4
, Larry Wall
+ * Copyright (c) 1991-199
7
, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@
-19,24
+19,23
@@
dEXT char **watchaddr = 0;
dEXT char *watchok;
dEXT char **watchaddr = 0;
dEXT char *watchok;
-#ifndef DEBUGGING
-
int
int
-runops() {
+runops
_standard
() {
dTHR;
SAVEI32(runlevel);
runlevel++;
while ( op = (*op->op_ppaddr)(ARGS) ) ;
dTHR;
SAVEI32(runlevel);
runlevel++;
while ( op = (*op->op_ppaddr)(ARGS) ) ;
+
+ TAINT_NOT;
return 0;
}
return 0;
}
-#else
-
+#ifdef DEBUGGING
static void debprof _((OP*o));
int
static void debprof _((OP*o));
int
-runops() {
+runops
_debug
() {
dTHR;
if (!op) {
warn("NULL OP IN RUN");
dTHR;
if (!op) {
warn("NULL OP IN RUN");
@@
-49,16
+48,15
@@
runops() {
do {
if (debug) {
if (watchaddr != 0 && *watchaddr != watchok)
do {
if (debug) {
if (watchaddr != 0 && *watchaddr != watchok)
-
fprintf(stderr
, "WARNING: %lx changed from %lx to %lx\n",
+
PerlIO_printf(Perl_debug_log
, "WARNING: %lx changed from %lx to %lx\n",
(long)watchaddr, (long)watchok, (long)*watchaddr);
DEBUG_s(debstack());
DEBUG_t(debop(op));
DEBUG_P(debprof(op));
(long)watchaddr, (long)watchok, (long)*watchaddr);
DEBUG_s(debstack());
DEBUG_t(debop(op));
DEBUG_P(debprof(op));
-#ifdef USE_THREADS
- DEBUG_L(YIELD()); /* shake up scheduling a bit */
-#endif /* USE_THREADS */
}
} while ( op = (*op->op_ppaddr)(ARGS) );
}
} while ( op = (*op->op_ppaddr)(ARGS) );
+
+ TAINT_NOT;
return 0;
}
return 0;
}
@@
-70,23
+68,23
@@
OP *o;
deb("%s", op_name[o->op_type]);
switch (o->op_type) {
case OP_CONST:
deb("%s", op_name[o->op_type]);
switch (o->op_type) {
case OP_CONST:
-
fprintf(stderr
, "(%s)", SvPEEK(cSVOPo->op_sv));
+
PerlIO_printf(Perl_debug_log
, "(%s)", SvPEEK(cSVOPo->op_sv));
break;
case OP_GVSV:
case OP_GV:
if (cGVOPo->op_gv) {
sv = NEWSV(0,0);
break;
case OP_GVSV:
case OP_GV:
if (cGVOPo->op_gv) {
sv = NEWSV(0,0);
- gv_fullname
(sv, cGVOPo->op_gv
);
-
fprintf(stderr
, "(%s)", SvPV(sv, na));
+ gv_fullname
3(sv, cGVOPo->op_gv, Nullch
);
+
PerlIO_printf(Perl_debug_log
, "(%s)", SvPV(sv, na));
SvREFCNT_dec(sv);
}
else
SvREFCNT_dec(sv);
}
else
-
fprintf(stderr
, "(NULL)");
+
PerlIO_printf(Perl_debug_log
, "(NULL)");
break;
default:
break;
}
break;
default:
break;
}
-
fprintf(stderr
, "\n");
+
PerlIO_printf(Perl_debug_log
, "\n");
return 0;
}
return 0;
}
@@
-96,7
+94,7
@@
char **addr;
{
watchaddr = addr;
watchok = *addr;
{
watchaddr = addr;
watchok = *addr;
-
fprintf(stderr
, "WATCHING, %lx is currently %lx\n",
+
PerlIO_printf(Perl_debug_log
, "WATCHING, %lx is currently %lx\n",
(long)watchaddr, (long)watchok);
}
(long)watchaddr, (long)watchok);
}
@@
-112,12
+110,13
@@
OP* o;
void
debprofdump()
{
void
debprofdump()
{
-
U32
i;
+
unsigned
i;
if (!profiledata)
return;
for (i = 0; i < MAXO; i++) {
if (profiledata[i])
if (!profiledata)
return;
for (i = 0; i < MAXO; i++) {
if (profiledata[i])
- fprintf(stderr, "%d\t%lu\n", i, profiledata[i]);
+ PerlIO_printf(Perl_debug_log,
+ "%u\t%lu\n", i, (unsigned long)profiledata[i]);
}
}
}
}