OP *myop = op;
U32 flags = 0;
I32 o_save_i = savestack_ix, type;
- CONTEXT *cx;
+ PERL_CONTEXT *cx;
XPV *tXpv = Xpv;
if (savestack_ix + 15 <= savestack_max)
I32 off;
SV *sv;
register I32 i;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
int saweval;
for (cv = startcv; cv; cv = CvOUTSIDE(cv)) {
markstack_ptr--;
/* we're trying to emulate pp_entertry() here */
{
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = GIMME_V;
ENTER;
SV **newsp;
PMOP *newpm;
I32 gimme;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 optype;
POPBLOCK(cx,newpm);
stack_sp = stack_base;
stack_max = stack_base + 127;
- cxstack_max = 8192 / sizeof(CONTEXT) - 2; /* Use most of 8K. */
- New(50,cxstack,cxstack_max + 1,CONTEXT);
+ cxstack_max = 8192 / sizeof(PERL_CONTEXT) - 2; /* Use most of 8K. */
+ New(50,cxstack,cxstack_max + 1,PERL_CONTEXT);
cxstack_ix = -1;
New(50,tmps_stack,128,SV*);
my_exit_jump(void)
{
dTHR;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme;
SV **newsp;
#endif
-/* Digital UNIX defines a typedef CONTEXT when pthreads is in use */
-#if defined(__osf__)
-# define CONTEXT PERL_CONTEXT
-#endif
-
typedef MEM_SIZE STRLEN;
typedef struct op OP;
typedef struct gp GP;
typedef struct gv GV;
typedef struct io IO;
-typedef struct context CONTEXT;
+typedef struct context PERL_CONTEXT;
typedef struct block BLOCK;
typedef struct magic MAGIC;
IEXT COP * VOL Icurcop IINIT(&compiling);
IEXT COP * Icurcopdb IINIT(NULL);
IEXT line_t Icopline IINIT(NOLINE);
-IEXT CONTEXT * Icxstack;
+IEXT PERL_CONTEXT * Icxstack;
IEXT I32 Icxstack_ix IINIT(-1);
IEXT I32 Icxstack_max IINIT(128);
IEXT JMPENV Istart_env; /* empty startup sigjmp() environment */
{
djSP;
register PMOP *pm = (PMOP*) cLOGOP->op_other;
- register CONTEXT *cx = &cxstack[cxstack_ix];
+ register PERL_CONTEXT *cx = &cxstack[cxstack_ix];
register SV *dstr = cx->sb_dstr;
register char *s = cx->sb_s;
register char *m = cx->sb_m;
if (sortcop) {
if (max > 1) {
AV *oldstack;
- CONTEXT *cx;
+ PERL_CONTEXT *cx;
SV** newsp;
bool oldcatch = CATCH_GET;
{
dTHR;
register I32 i;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
for (i = cxstack_ix; i >= 0; i--) {
cx = &cxstack[i];
{
dTHR;
I32 i;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
for (i = startingblock; i >= 0; i--) {
cx = &cxstack[i];
switch (cx->cx_type) {
{
dTHR;
I32 i;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
for (i = startingblock; i >= 0; i--) {
cx = &cxstack[i];
switch (cx->cx_type) {
{
dTHR;
I32 i;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
for (i = startingblock; i >= 0; i--) {
cx = &cxstack[i];
switch (cx->cx_type) {
dounwind(I32 cxix)
{
dTHR;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
SV **newsp;
I32 optype;
dTHR;
if (in_eval) {
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme;
SV **newsp;
{
djSP;
register I32 cxix = dopoptosub(cxstack_ix);
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 dbcxix;
I32 gimme;
SV *sv;
{
SV **sp;
register CV *cv;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = G_ARRAY;
I32 hasargs;
GV *gv;
PP(pp_enteriter)
{
djSP; dMARK;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = GIMME_V;
SV **svp;
PP(pp_enterloop)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = GIMME_V;
ENTER;
PP(pp_leaveloop)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
struct block_loop cxloop;
I32 gimme;
SV **newsp;
{
djSP; dMARK;
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
struct block_sub cxsub;
bool popsub2 = FALSE;
I32 gimme;
{
djSP;
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
struct block_loop cxloop;
struct block_sub cxsub;
I32 pop2 = 0;
PP(pp_next)
{
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 oldsave;
if (op->op_flags & OPf_SPECIAL) {
PP(pp_redo)
{
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 oldsave;
if (op->op_flags & OPf_SPECIAL) {
djSP;
OP *retop = 0;
I32 ix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
#define GOTO_DEPTH 64
OP *enterops[GOTO_DEPTH];
char *label;
/* This egregious kludge implements goto &subroutine */
if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) {
I32 cxix;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
CV* cv = (CV*)SvRV(sv);
SV** mark;
I32 items = 0;
if (yyparse() || error_count || !eval_root) {
SV **newsp;
I32 gimme;
- CONTEXT *cx;
+ PERL_CONTEXT *cx;
I32 optype;
op = saveop;
PP(pp_require)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
SV *sv;
char *name;
char *tryname;
PP(pp_entereval)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
dPOPss;
I32 gimme = GIMME_V, was = sub_generation;
char tmpbuf[TYPE_DIGITS(long) + 12];
SV **newsp;
PMOP *newpm;
I32 gimme;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
OP *retop;
U8 save_flags = op -> op_flags;
I32 optype;
PP(pp_entertry)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = GIMME_V;
ENTER;
SV **newsp;
PMOP *newpm;
I32 gimme;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 optype;
POPBLOCK(cx,newpm);
PP(pp_enter)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = OP_GIMME(op, -1);
if (gimme == -1) {
PP(pp_leave)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
register SV **mark;
SV **newsp;
PMOP *newpm;
PP(pp_iter)
{
djSP;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
SV* sv;
AV* av;
sv_setpvn(dstr, m, s-m);
curpm = pm;
if (!c) {
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
PUSHSUBST(cx);
RETURNOP(cPMOP->op_pmreplroot);
}
SV **newsp;
PMOP *newpm;
I32 gimme;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
struct block_sub cxsub;
POPBLOCK(cx,newpm);
GV *gv;
HV *stash;
register CV *cv;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme;
bool hasargs = (op->op_flags & OPf_STACKED) != 0;
doform(CV *cv, GV *gv, OP *retop)
{
dTHR;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
I32 gimme = GIMME_V;
AV* padlist = CvPADLIST(cv);
SV** svp = AvARRAY(padlist);
PerlIO *fp;
SV **newsp;
I32 gimme;
- register CONTEXT *cx;
+ register PERL_CONTEXT *cx;
DEBUG_f(PerlIO_printf(Perl_debug_log, "left=%ld, todo=%ld\n",
(long)IoLINES_LEFT(io), (long)FmLINES(formtarget)));
I32 which = op->op_type;
register char **elem;
register SV *sv;
-#ifndef DONT_DECLARE_STD
+#ifdef NETDB_H_OMITS_GETNET
struct netent *getnetbyname(const char *);
+ /*
+ * long is wrong for getnetbyadddr (e.g. on Alpha). POSIX.1g says
+ * in_addr_t but then such systems don't have broken netdb.h anyway.
+ */
struct netent *getnetbyaddr(long int, int);
struct netent *getnetent(void);
#endif
SV* cv_const_sv _((CV* cv));
void cv_undef _((CV* cv));
#ifdef DEBUGGING
-void cx_dump _((CONTEXT* cs));
+void cx_dump _((PERL_CONTEXT* cs));
#endif
SV* filter_add _((filter_t funcp, SV* datasv));
void filter_del _((filter_t funcp));
{
dTHR;
cxstack_max = cxstack_max * 3 / 2;
- Renew(cxstack, cxstack_max + 1, CONTEXT); /* XXX should fix CXINC macro */
+ Renew(cxstack, cxstack_max + 1, PERL_CONTEXT); /* XXX should fix CXINC macro */
return cxstack_ix + 1;
}
#ifdef DEBUGGING
void
-cx_dump(CONTEXT *cx)
+cx_dump(PERL_CONTEXT *cx)
{
dTHR;
PerlIO_printf(Perl_debug_log, "CX %ld = %s\n", (long)(cx - cxstack), block_type[cx->cx_type]);
U8 Tlocalizing;
COP * Tcurcop;
- CONTEXT * Tcxstack;
+ PERL_CONTEXT * Tcxstack;
I32 Tcxstack_ix;
I32 Tcxstack_max;