diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/specific/property.cpp --- a/os/boardsupport/emulator/emulatorbsp/specific/property.cpp Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/specific/property.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -28,6 +28,21 @@ #define _DUMP_PROPERTY #endif + +//SL: added this to support relative paths +#include +#ifdef WIN32 +#include +#define GetCurrentDir _getcwd +#define FullPath _fullpath +#else +#include +#define GetCurrentDir getcwd +#define FullPath fullpath +#endif + + + const char* KDefaultMachineName = "epoc"; const char* KDefaultTestMachineName = "defaulttest"; @@ -1164,6 +1179,7 @@ return mpath; } + TInt Wins::SetupDrive(int aDrive, const char* aPath) // // set up emulated drives @@ -1208,8 +1224,15 @@ } else - // otherwise, aPath is fully qualified path name. Use that. - return iProperties.Replace(prop, aPath) ? KErrNone : KErrNoMemory; + { + //Otherwise aPath is potentially a relative path + char path[FILENAME_MAX+1]; + //Resolve relative path + FullPath(path,aPath,sizeof(path)/sizeof(char)); + //Now path is fully qualified path name. Use that. + return iProperties.Replace(prop, path) ? KErrNone : KErrNoMemory; + } + }