Changed command line lua script fullpath resolution logic to use cross platform QFileInfo instead of unix realpath.

This commit is contained in:
mjbudd77 2021-10-23 05:55:17 -04:00
parent d656e309a6
commit 4cea83fd1b
1 changed files with 17 additions and 7 deletions

View File

@ -25,6 +25,7 @@
#include <limits.h>
#include <unzip.h>
#include <QFileInfo>
#include <QStyleFactory>
#include "Qt/main.h"
#include "Qt/throttle.h"
@ -961,18 +962,27 @@ int fceuWrapperInit( int argc, char *argv[] )
// load lua script if option passed
g_config->getOption("SDL.LuaScript", &s);
g_config->setOption("SDL.LuaScript", "");
if (s != "")
if (s.size() > 0)
{
#if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
QFileInfo fi( s.c_str() );
// Resolve absolute path to file
char fullpath[2048];
if ( realpath( s.c_str(), fullpath ) != NULL )
if ( fi.exists() )
{
//printf("Fullpath: '%s'\n", fullpath );
s.assign( fullpath );
//printf("FI: '%s'\n", fi.absoluteFilePath().toStdString().c_str() );
//printf("FI: '%s'\n", fi.canonicalFilePath().toStdString().c_str() );
s = fi.canonicalFilePath().toStdString();
}
#endif
//#if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
//
// // Resolve absolute path to file
// char fullpath[2048];
// if ( realpath( s.c_str(), fullpath ) != NULL )
// {
// printf("Fullpath: '%s'\n", fullpath );
// s.assign( fullpath );
// }
//#endif
FCEU_LoadLuaCode(s.c_str());
}
#endif