#include #include #include #include inline static bool set_working_dir(std::vector args) { std::vector::iterator itr = std::find(args.begin(), args.end(), "-d"); if (itr!=args.end()) { unsigned dist = std::distance(args.begin(),itr); if (args.size() > dist+1) { std::string chdir = args.at(dist+1); bool exists = boost::filesystem::exists( chdir ); if (exists) { boost::filesystem::current_path(chdir); return true; } } return false; } return true; }