System location accessors will ultimately return this directory. The
default is /, which can easily cause problems. In particular, many of
my applications expect to have their data in get_sys_data_dir()/"data".
On Android /data exists but is not readable.
#include <cstring>
+#include <msp/fs/dir.h>
#include <msp/fs/path.h>
+#include <msp/fs/utils.h>
#include "application.h"
#include "errorlogger.h"
#include "mainthread.h"
{
/* I have no idea how dependable this is, but it seems to be the only way
to get the package name aside from making a Java call through JNI */
- char *appname = strdup(FS::Path(activity->internalDataPath)[-2].c_str());
+ char *appname = strdup(int_data_path[-2].c_str());
char *argv[] = { appname, 0 };
Msp::Android::ErrorLogger err_logger;
+ FS::chdir(FS::dirname(int_data_path));
Msp::Application::run(1, argv, this, &app_created);
free(appname);
if(activity)