diff -r 0fd27995241b -r 9ac0a0a7da70 javamanager/javacaptain/src/main.cpp --- a/javamanager/javacaptain/src/main.cpp Tue May 11 16:07:20 2010 +0300 +++ b/javamanager/javacaptain/src/main.cpp Tue May 25 12:34:19 2010 +0300 @@ -60,6 +60,15 @@ } #endif +// In S60 working directory should be initalized to C:\private\ by OpenC +// But for some reason this does not seem to work if captain binary is in rom. +#ifdef __SYMBIAN32__ +const char* const IAD_BOOT_FLAG = "c:\\private\\200211DC\\iadboot.dat"; +#else +const char* const IAD_BOOT_FLAG = "iadboot.dat"; +#endif /* __SYMBIAN32__ */ + + int main(int ac, char** av) { JELOG2(EJavaCaptain); @@ -72,7 +81,7 @@ if (ac == 2 && strcmp(av[1], "iad") == 0) { LOG(EJavaCaptain, EInfo, "creating iad boot event flag"); - int fd = open("iadboot.dat", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); + int fd = open(IAD_BOOT_FLAG, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); if (fd < 0) { ELOG1(EJavaCaptain, "create boot event flag failed: %s", strerror(errno));