summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>2017-09-01 12:11:53 +0100
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>2017-10-18 11:44:17 +0100
commit61a08f7e2d326477efc83eb790b47923e5ad9abd (patch)
tree54b41ac6e0fbc8576fb05437047ee994d1b93ae5 /vms
parent2fcab33080eaee2f4f7ee329a3769df17bb5ca3f (diff)
downloadperl-61a08f7e2d326477efc83eb790b47923e5ad9abd.tar.gz
[perl #131730] Fix exec PROGRAM LIST with empty LIST on VMS
Only when being Unixish, because I have no idea if setup_argstr()/vms_do_exec() handle it.
Diffstat (limited to 'vms')
-rw-r--r--vms/vms.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/vms/vms.c b/vms/vms.c
index 5ca4d7c0e3..df0aed85b7 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -10953,16 +10953,16 @@ Perl_vms_do_aexec(pTHX_ SV *really,SV **mark,SV **sp)
bool exec_sts;
char * cmd;
- if (sp > mark) {
- if (vfork_called) { /* this follows a vfork - act Unixish */
- vfork_called--;
- if (vfork_called < 0) {
- Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
- vfork_called = 0;
- }
- else return do_aexec(really,mark,sp);
+ if (vfork_called) { /* this follows a vfork - act Unixish */
+ vfork_called--;
+ if (vfork_called < 0) {
+ Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
+ vfork_called = 0;
}
+ else return do_aexec(really,mark,sp);
+ }
/* no vfork - act VMSish */
+ if (sp > mark) {
cmd = setup_argstr(aTHX_ really,mark,sp);
exec_sts = vms_do_exec(cmd);
Safefree(cmd); /* Clean up from setup_argstr() */