Only system() needs script name quoted.

This commit is contained in:
Guus Sliepen 2003-08-08 22:45:46 +00:00
parent 91f65c2774
commit 7eed829d28

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: process.c,v 1.1.2.69 2003/08/08 22:11:54 guus Exp $ $Id: process.c,v 1.1.2.70 2003/08/08 22:45:46 guus Exp $
*/ */
#include "system.h" #include "system.h"
@ -365,15 +365,17 @@ bool execute_script(const char *name, char **envp)
cp(); cp();
asprintf(&scriptname, "\"%s/%s\"", confbase, name);
#ifndef HAVE_MINGW #ifndef HAVE_MINGW
asprintf(&scriptname, "%s/%s", confbase, name);
/* First check if there is a script */ /* First check if there is a script */
if(stat(scriptname, &s)) if(stat(scriptname, &s))
return true; return true;
ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name); ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name);
free(scriptname);
#endif #endif
#ifdef HAVE_PUTENV #ifdef HAVE_PUTENV
@ -383,6 +385,7 @@ bool execute_script(const char *name, char **envp)
putenv(*envp++); putenv(*envp++);
#endif #endif
asprintf(&scriptname, "\"%s/%s\"", confbase, name);
status = system(scriptname); status = system(scriptname);
free(scriptname); free(scriptname);