summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/kwsys/ProcessUNIX.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c
index 96d1afb..318a99f 100644
--- a/Source/kwsys/ProcessUNIX.c
+++ b/Source/kwsys/ProcessUNIX.c
@@ -1044,20 +1044,21 @@ static int kwsysProcessInitialize(kwsysProcess* cp)
memset(cp->CommandExitCodes, 0, sizeof(int)*cp->NumberOfCommands);
/* Allocate memory to save the real working directory. */
- {
+ if ( cp->WorkingDirectory )
+ {
#if defined(MAXPATHLEN)
- cp->RealWorkingDirectoryLength = MAXPATHLEN;
+ cp->RealWorkingDirectoryLength = MAXPATHLEN;
#elif defined(PATH_MAX)
- cp->RealWorkingDirectoryLength = PATH_MAX;
+ cp->RealWorkingDirectoryLength = PATH_MAX;
#else
- cp->RealWorkingDirectoryLength = 4096;
+ cp->RealWorkingDirectoryLength = 4096;
#endif
- cp->RealWorkingDirectory = malloc(cp->RealWorkingDirectoryLength);
- if(!cp->RealWorkingDirectory)
- {
- return 0;
+ cp->RealWorkingDirectory = malloc(cp->RealWorkingDirectoryLength);
+ if(!cp->RealWorkingDirectory)
+ {
+ return 0;
+ }
}
- }
return 1;
}