summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1998-10-17 13:43:54 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1998-10-17 13:43:54 +0000
commit092bebab2f702b0ac392b3259fc90294ab403f4b (patch)
tree3d5351416db9d4e4aa91afdf7b5202d097fdc6a3 /pp_sys.c
parentb56ec34489067f612a4e5d2fecae86c5bbfffd5c (diff)
downloadperl-092bebab2f702b0ac392b3259fc90294ab403f4b.tar.gz
The VM/ESA port essentials, based on
perl-mvs: From: Neale Ferguson <neale@VMA.TABNSW.COM.AU> Subject: Re: Can't find Data/Dumper.pm Date: Mon, 28 Sep 1998 07:40:49 +1300 Message-ID: <360E86B0.23847AF4@mailbox.tabnsw.com.au> private email: From: Neale Ferguson <neale@VMA.TABNSW.COM.AU> Subject: Re: Perl thread problems in VM/ESA Date: Thu, 15 Oct 1998 07:18:35 +1300 Message-ID: <3624EAFA.16163A2B@mailbox.tabnsw.com.au> and private email: From: Neale Ferguson <NEALE@PUCC.PRINCETON.EDU> Subject: perl archive Date: Sun, 11 Oct 1998 19:28:54 EDT Message-Id: <19981011233112Z67215-26626+1513@outbound.Princeton.EDU> which gave a pointer to http://pucc.princeton.edu/~neale/perl.tar (based on Perl 5.005_51) p4raw-id: //depot/cfgperl@2006
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/pp_sys.c b/pp_sys.c
index 7fa4de232d..4439b1c046 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -1467,6 +1467,13 @@ PP(pp_sysread)
PP(pp_syswrite)
{
+ djSP;
+ int items = (SP - PL_stack_base) - TOPMARK;
+ if (items == 2) {
+ EXTEND(SP, 1);
+ PUSHs(sv_2mortal(newSViv(sv_len(*SP))));
+ PUTBACK;
+ }
return pp_send(ARGS);
}
@@ -3448,7 +3455,14 @@ PP(pp_exec)
#ifdef VMS
value = (I32)vms_do_aexec(Nullsv, MARK, SP);
#else
+# ifdef __OPEN_VM
+ {
+ (void ) do_aspawn(Nullsv, MARK, SP);
+ value = 0;
+ }
+# else
value = (I32)do_aexec(Nullsv, MARK, SP);
+# endif
#endif
else {
if (PL_tainting) {
@@ -3459,7 +3473,12 @@ PP(pp_exec)
#ifdef VMS
value = (I32)vms_do_exec(SvPVx(sv_mortalcopy(*SP), PL_na));
#else
+# ifdef __OPEN_VM
+ (void) do_spawn(SvPVx(sv_mortalcopy(*SP), PL_na));
+ value = 0;
+# else
value = (I32)do_exec(SvPVx(sv_mortalcopy(*SP), PL_na));
+# endif
#endif
}
SP = ORIGMARK;