#include <msp/fs/path.h>
#include <msp/fs/utils.h>
#include <msp/io/print.h>
+#include <msp/strings/utils.h>
#include "application.h"
#include "getopt.h"
{
IO::print(IO::cerr, "An uncaught exception occurred.\n");
IO::print(IO::cerr, " type: %s\n", Debug::demangle(typeid(e).name()));
- IO::print(IO::cerr, " what(): %s\n", e.what());
+ vector<string> lines = split(e.what(), '\n');
+ if(lines.size()<2)
+ IO::print(IO::cerr, " what(): %s\n", e.what());
+ else
+ {
+ IO::print(IO::cerr, " what(): %s\n", lines.front());
+ for(vector<string>::const_iterator i=lines.begin(); ++i!=lines.end(); )
+ IO::print(IO::cerr, " %s\n", *i);
+ }
}
delete app_;
static FS::Path exe;
+ if(!argv0 || !*argv0)
+ {
+#ifdef _WIN32
+ argv0 = "application.exe";
+#else
+ argv0 = "./application";
+#endif
+ }
+
bool has_slash = strchr(argv0, FS::DIRSEP);
if(!has_slash)
exe = FS::path_lookup(argv0);