Fixed basedir/userdir calculation.
This commit is contained in:
parent
b5bc50b726
commit
ece998dd3a
|
@ -230,6 +230,7 @@ int __PHYSFS_platformInit(void)
|
|||
APIRET rc;
|
||||
PTIB ptib;
|
||||
PPIB ppib;
|
||||
PHYSFS_sint32 len;
|
||||
|
||||
assert(baseDir == NULL);
|
||||
|
||||
|
@ -237,7 +238,19 @@ int __PHYSFS_platformInit(void)
|
|||
rc = DosQueryModuleName(ppib->pib_hmte, sizeof (buf), (PCHAR) buf);
|
||||
BAIL_IF_MACRO(os2err(rc) != NO_ERROR, NULL, 0);
|
||||
|
||||
baseDir = (char *) malloc(strlen(buf) + 1);
|
||||
/* chop off filename, leave path. */
|
||||
for (len = strlen(buf) - 1; len >= 0; len--)
|
||||
{
|
||||
if (buf[len] == '\\')
|
||||
{
|
||||
buf[++len] = '\0';
|
||||
break;
|
||||
} /* if */
|
||||
} /* for */
|
||||
|
||||
assert(len > 0); /* should have been an "x:\\" on the front on string. */
|
||||
|
||||
baseDir = (char *) malloc(len + 1);
|
||||
BAIL_IF_MACRO(baseDir == NULL, ERR_OUT_OF_MEMORY, 0);
|
||||
strcpy(baseDir, buf);
|
||||
|
||||
|
|
Loading…
Reference in New Issue