leak in change#4694 spotted by Larry
[p5sagit/p5-mst-13.2.git] / XSUB.h
diff --git a/XSUB.h b/XSUB.h
index 241ac40..e9b6dc3 100644 (file)
--- a/XSUB.h
+++ b/XSUB.h
@@ -1,3 +1,6 @@
+#ifndef _INC_PERL_XSUB_H
+#define _INC_PERL_XSUB_H 1
+
 #define ST(off) PL_stack_base[ax + (off)]
 
 #if defined(CYGWIN) && defined(USE_DYNAMIC_LOADING)
@@ -11,6 +14,9 @@
        I32 ax = mark - PL_stack_base + 1;      \
        I32 items = sp - mark
 
+#define dXSTARG SV * targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
+                            ? PAD_SV(PL_op->op_targ) : sv_newmortal())
+
 #define XSANY CvXSUBANY(cv)
 
 #define dXSI32 I32 ix = XSANY.any_i32
 #  define aTHX_                aTHX,
 #endif
 
-#if defined(PERL_CAPI)
+#if (defined(PERL_CAPI) || defined(PERL_IMPLICIT_SYS)) && !defined(PERL_CORE)
 #  ifndef NO_XSLOCKS
 #    undef closedir
 #    undef opendir
 #    define fstat              PerlLIO_fstat
 #    define ioctl              PerlLIO_ioctl
 #    define isatty             PerlLIO_isatty
+#    define link                PerlLIO_link
 #    define lseek              PerlLIO_lseek
 #    define lstat              PerlLIO_lstat
 #    define mktemp             PerlLIO_mktemp
 #    define read               PerlLIO_read
 #    define rename             PerlLIO_rename
 #    define setmode            PerlLIO_setmode
-#    define stat               PerlLIO_stat
+#    define stat(buf,sb)       PerlLIO_stat(buf,sb)
 #    define tmpnam             PerlLIO_tmpnam
 #    define umask              PerlLIO_umask
 #    define unlink             PerlLIO_unlink
 #    define setjmp             PerlProc_setjmp
 #    define longjmp            PerlProc_longjmp
 #    define signal             PerlProc_signal
+#    define getpid             PerlProc_getpid
 #    define htonl              PerlSock_htonl
 #    define htons              PerlSock_htons
 #    define ntohl              PerlSock_ntohl
 #    define socketpair         PerlSock_socketpair
 #  endif  /* NO_XSLOCKS */
 #endif  /* PERL_CAPI */
+
+#endif /* _INC_PERL_XSUB_H */          /* include guard */