This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: 1.3.2: Perl script called via system() uses Windows filenames
- To: cygwin at cygwin dot com
- Subject: Re: 1.3.2: Perl script called via system() uses Windows filenames
- From: Brian Jepson <bjepson at oreilly dot com>
- Date: Fri, 22 Jun 2001 20:05:18 -0400 (EDT)
The attached patch (against perl-5.6.1-1-src.tar.gz from the contrib/perl
directory) fixes this problem. Without the patch, pp_system would use
either do_aspawn() or do_spawn() instead of vfork().
Cheers,
Brian
On Fri, 22 Jun 2001, Brian Jepson wrote:
> Hi,
>
> I'm running cygwin 1.3.2 on Windows 2000. I have one script that wants to
> call another using system(). When I do this, the second script switches
> into using Windows filenames. Here is the first script:
>
> #!/usr/bin/perl
> system("/home/Administrator/foo.pl");
>
> and the second script:
>
> #!/usr/bin/perl
> print $0, "\n";
>
> The output I get when I run /home/Administrator/foo.pl is:
>
> /home/Administrator/foo.pl
>
> However, when I run the first script, I get this:
>
> C:\cygwin\home\Administrator\foo.pl
>
>
> Thanks,
>
> Brian
>
>
>
>
$ diff -c perl-5.6.1-1-orig/pp_sys.c perl-5.6.1-1/pp_sys.c
*** perl-5.6.1-1-orig/pp_sys.c Sun Dec 17 23:45:02 2000
--- perl-5.6.1-1/pp_sys.c Fri Jun 22 19:57:00 2001
***************
*** 3789,3795 ****
}
}
PERL_FLUSHALL_FOR_CHILD;
! #if (defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(OS2) && !defined(__CYGWIN__)
if (PerlProc_pipe(pp) >= 0)
did_pipes = 1;
while ((childpid = vfork()) == -1) {
--- 3789,3795 ----
}
}
PERL_FLUSHALL_FOR_CHILD;
! #if (defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(OS2)
if (PerlProc_pipe(pp) >= 0)
did_pipes = 1;
while ((childpid = vfork()) == -1) {
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple