static int
do_spawnvp (const char *path, const char * const *argv)
{
- dTHXo;
+ dTHX;
Sigsave_t ihand,qhand;
int childpid, result, status;
childpid = spawnvp(_P_NOWAIT,path,argv);
if (childpid < 0) {
status = -1;
- if(ckWARN(WARN_EXEC)) {
- dTHR;
+ if(ckWARN(WARN_EXEC))
Perl_warner(aTHX_ WARN_EXEC,"Can't spawn \"%s\": %s",
path,Strerror (errno));
- }
} else {
do {
result = wait4pid(childpid, &status, 0);
int
do_aspawn (SV *really, void **mark, void **sp)
{
- dTHXo;
+ dTHX;
int rc;
char **a,*tmps,**argv;
STRLEN n_a;
int
do_spawn (char *cmd)
{
- dTHXo;
+ dTHX;
char **a,*s,*metachars = "$&*(){}[]'\";\\?>|<~`\n";
const char *command[4];
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;