X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=op.h;h=415514d687ec30e64457b25b1070db7cc88a5157;hb=52a55424e4624fc79eb8894fb91c5e2f4a9018ab;hp=789ce58794141ebe8df3c0669e892ba2a34094fa;hpb=7409d7190cf6c057fdad5f6134646f347f12e367;p=p5sagit%2Fp5-mst-13.2.git diff --git a/op.h b/op.h index 789ce58..415514d 100644 --- a/op.h +++ b/op.h @@ -23,7 +23,13 @@ * which may or may not check number of children). */ -typedef U32 PADOFFSET; +#if PTRSIZE == 4 +typedef U32TYPE PADOFFSET; +#else +# if PTRSIZE == 8 +typedef U64TYPE PADOFFSET; +# endif +#endif #define NOT_IN_PAD ((PADOFFSET) -1) #ifdef DEBUGGING_OPS @@ -197,7 +203,8 @@ Deprecated. Use C instead. #define OPpOPEN_OUT_RAW 64 /* binmode(F,":raw") on output fh */ #define OPpOPEN_OUT_CRLF 128 /* binmode(F,":crlf") on output fh */ -/* Private for OP_EXIT */ +/* Private for OP_EXIT, HUSH also for OP_DIE */ +#define OPpHUSH_VMSISH 64 /* hush DCL exit msg vmsish mode*/ #define OPpEXIT_VMSISH 128 /* exit(0) vs. exit(1) vmsish mode*/ struct op { @@ -250,8 +257,8 @@ struct pmop { }; #ifdef USE_ITHREADS -#define PM_GETRE(o) ((REGEXP*)SvIVX(PL_regex_pad[(o)->op_pmoffset])) -#define PM_SETRE(o,r) (sv_setiv(PL_regex_pad[(o)->op_pmoffset], (IV)r)) +#define PM_GETRE(o) (INT2PTR(REGEXP*,SvIVX(PL_regex_pad[(o)->op_pmoffset]))) +#define PM_SETRE(o,r) (sv_setiv(PL_regex_pad[(o)->op_pmoffset], PTR2IV(r))) #define PM_GETRE_SAFE(o) (PL_regex_pad ? PM_GETRE(o) : (REGEXP*)0) #define PM_SETRE_SAFE(o,r) if (PL_regex_pad) PM_SETRE(o,r) #else @@ -469,7 +476,7 @@ typedef struct { #define localtime(a) (localtime_r((a),PL_reentrant_buffer->tmbuff) ? PL_reentrant_buffer->tmbuff : NULL) #define gmtime(a) (gmtime_r((a),PL_reentrant_buffer->tmbuff) ? PL_reentrant_buffer->tmbuff : NULL) -#if defined(__hpux) && defined(__ux_version) && __ux_version <= 1020 +#ifdef OLD_PTHREADS_API /* HP-UX 10.20 returns 0 on success, what it returns on failure is hidden in the fog somewhere, possibly -1 which means the following should do