correct initial path setting from argv

This commit is contained in:
Dave Murphy 2008-05-23 10:37:33 +00:00
parent 25b615836f
commit a839587b4d

View File

@ -112,14 +112,17 @@ bool fatInit (u32 cacheSize, bool setAsDefaultDevice) {
char filePath[MAXPATHLEN * 2] = "fat:/";
#ifndef GBA
if ( __system_argv->argvMagic == ARGV_MAGIC && __system_argv->argc >= 1 ) {
char ch, *ptr = filePath, *lastSlash = NULL;
if ( !strncasecmp( __system_argv->argv[0], "fat", 3)) {
strcpy(filePath, __system_argv->argv[0]);
do {
ch = *(ptr);
if (ch == '/') lastSlash=ptr;
ptr++;
} while (ch);
if ( NULL != lastSlash) *lastSlash = 0;
char *lastSlash = strrchr( filePath, '/' );
if ( NULL != lastSlash) {
if ( *(lastSlash - 1) == ':') lastSlash++;
*lastSlash = 0;
}
}
}
#endif
chdir (filePath);