X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cygwin%2Fcygwin.c;h=0e9d07d35e08f30c83cfd52c1e738b89d6488bd5;hb=06bd180242168640a1733ced8fea2dbabcdc44d0;hp=db1c426ea1fb3687e3da160c54e61a1faae06ed2;hpb=ee8c7f5465f003860e2347a2946abacac39bd9b9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cygwin/cygwin.c b/cygwin/cygwin.c index db1c426..0e9d07d 100644 --- a/cygwin/cygwin.c +++ b/cygwin/cygwin.c @@ -18,7 +18,7 @@ static int do_spawnvp (const char *path, const char * const *argv) { - dTHXo; + dTHX; Sigsave_t ihand,qhand; int childpid, result, status; @@ -27,11 +27,9 @@ do_spawnvp (const char *path, const char * const *argv) childpid = spawnvp(_P_NOWAIT,path,argv); if (childpid < 0) { status = -1; - if(ckWARN(WARN_EXEC)) { - dTHR; - Perl_warner(aTHX_ WARN_EXEC,"Can't spawn \"%s\": %s", + if(ckWARN(WARN_EXEC)) + Perl_warner(aTHX_ packWARN(WARN_EXEC),"Can't spawn \"%s\": %s", path,Strerror (errno)); - } } else { do { result = wait4pid(childpid, &status, 0); @@ -47,7 +45,7 @@ do_spawnvp (const char *path, const char * const *argv) int do_aspawn (SV *really, void **mark, void **sp) { - dTHXo; + dTHX; int rc; char **a,*tmps,**argv; STRLEN n_a; @@ -80,7 +78,7 @@ do_aspawn (SV *really, void **mark, void **sp) int do_spawn (char *cmd) { - dTHXo; + dTHX; char **a,*s,*metachars = "$&*(){}[]'\";\\?>|<~`\n"; const char *command[4]; @@ -146,9 +144,12 @@ XS(Cygwin_cwd) if(items != 0) Perl_croak(aTHX_ "Usage: Cwd::cwd()"); - if((cwd = getcwd(NULL, 0))) { + if((cwd = getcwd(NULL, -1))) { ST(0) = sv_2mortal(newSVpv(cwd, 0)); safesysfree(cwd); +#ifndef INCOMPLETE_TAINTS + SvTAINTED_on(ST(0)); +#endif XSRETURN(1); } XSRETURN_UNDEF;