Fix gross win32 build issues
[p5sagit/p5-mst-13.2.git] / op.h
diff --git a/op.h b/op.h
index 3158395..7896b8f 100644 (file)
--- a/op.h
+++ b/op.h
@@ -250,8 +250,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 +469,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