summaryrefslogtreecommitdiff
path: root/pkg/osx/IWADController.m
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/osx/IWADController.m')
-rw-r--r--pkg/osx/IWADController.m31
1 files changed, 26 insertions, 5 deletions
diff --git a/pkg/osx/IWADController.m b/pkg/osx/IWADController.m
index a7730cc7..3c596850 100644
--- a/pkg/osx/IWADController.m
+++ b/pkg/osx/IWADController.m
@@ -264,10 +264,10 @@ static NSString *IWADFilenames[NUM_IWAD_TYPES + 1] =
}
}
-// Set the DOOMWADPATH environment variable to contain the path to each
-// of the configured IWAD files.
+// Generate a value to set for the DOOMWADPATH environment variable
+// that contains each of the configured IWAD files.
-- (void) setEnvironment
+- (char *) doomWadPath
{
IWADLocation *iwadList[NUM_IWAD_TYPES];
NSString *location;
@@ -280,7 +280,7 @@ static NSString *IWADFilenames[NUM_IWAD_TYPES + 1] =
// Calculate length of environment string.
- len = 30;
+ len = 0;
for (i=0; i<NUM_IWAD_TYPES; ++i)
{
@@ -295,7 +295,7 @@ static NSString *IWADFilenames[NUM_IWAD_TYPES + 1] =
// Build string.
env = malloc(len);
- strcpy(env, "DOOMWADPATH=");
+ strcpy(env, "");
first = YES;
@@ -315,6 +315,27 @@ static NSString *IWADFilenames[NUM_IWAD_TYPES + 1] =
}
}
+ return env;
+}
+
+// Set the DOOMWADPATH environment variable to contain the path to each
+// of the configured IWAD files.
+
+- (void) setEnvironment
+{
+ char *doomwadpath;
+ char *env;
+
+ // Get the value for the path.
+
+ doomwadpath = [self doomWadPath];
+
+ env = malloc(strlen(doomwadpath) + 15);
+
+ sprintf(env, "DOOMWADPATH=%s", doomwadpath);
+
+ free(doomwadpath);
+
// Load into environment:
putenv(env);