+ std::string cmd(argv0);
+#ifdef WINDOWS
+ char dirsep = '\\';
+#else
+ char dirsep = '/';
+#endif
+
+ if (!client_mode)
+ {
+ size_t pos = cmd.find_last_of(dirsep);
+ if (pos != std::string::npos)
+ {
+ std::string dir = cmd.substr(0, pos+1);
+ if (chdir(dir.c_str()) != 0)
+ {
+ perror("Failed to change working directory");
+ exit(EXIT_FAILURE);
+ }
+ else
+ {
+ std::cout << "Entering directory `"
+ << dir << "'" << std::endl;
+ }
+ }
+ }