From 96f5d98fc299a53fcdad304a56eb3a77a2c229e7 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Fri, 8 Aug 2003 19:56:11 +0000 Subject: [PATCH] Small things. --- lib/utils.h | 2 +- src/process.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/utils.h b/lib/utils.h index af654274..4b0ab3dd 100644 --- a/lib/utils.h +++ b/lib/utils.h @@ -40,7 +40,7 @@ extern void bin2hex(char *src, char *dst, int length); #ifdef HAVE_MINGW extern char *winerror(int); -#define strerror(x) (x>0?strerror(x):winerror(GetLastError())) +#define strerror(x) ((x)>0?strerror(x):winerror(GetLastError())) #endif #endif /* __TINC_UTILS_H__ */ diff --git a/src/process.c b/src/process.c index 43ce5bde..d81fdd69 100644 --- a/src/process.c +++ b/src/process.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: process.c,v 1.1.2.67 2003/08/08 19:43:47 guus Exp $ + $Id: process.c,v 1.1.2.68 2003/08/08 19:56:11 guus Exp $ */ #include "system.h" @@ -100,8 +100,13 @@ bool install_service(void) { strncat(command, program_name, sizeof(command)); for(argp = g_argv + 1; *argp; argp++) { space = strchr(*argp, ' '); - strncat(command, space?" \"":" ", sizeof(command)); + strncat(command, " ", sizeof(command)); + + if(space) + strncat(command, "\"", sizeof(command)); + strncat(command, *argp, sizeof(command)); + if(space) strncat(command, "\"", sizeof(command)); } @@ -372,10 +377,12 @@ bool execute_script(const char *name, char **envp) ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name); #endif +#ifdef HAVE_PUTENV /* Set environment */ while(*envp) putenv(*envp++); +#endif status = system(scriptname); -- 2.20.1