diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index d1ea12352..f36bbbd5b 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -284,6 +284,24 @@ bool get_mem_usage(unsigned long &kbtotal, unsigned long &kbfree) return true; } +std::string getPathName(std::string &path) +{ + size_t pos = path.find_last_of("/"); + if (pos == std::string::npos) + return path; + return path.substr(0, pos); +} + +std::string getBaseName(std::string &path) +{ + size_t pos = path.find_last_of("/"); + if (pos == std::string::npos) + return path; + if (path.length() == pos +1) + return ""; + return path.substr(pos+1); +} + std::string trim(std::string &str, const std::string &trimChars /*= " \n\r\t"*/) { std::string result = str.erase(str.find_last_not_of(trimChars) + 1); diff --git a/src/system/helpers.h b/src/system/helpers.h index a811edab8..70db9525b 100644 --- a/src/system/helpers.h +++ b/src/system/helpers.h @@ -22,6 +22,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include + int my_system(const char * cmd); int my_system(int argc, const char *arg, ...); /* argc is number of arguments including command */ @@ -34,6 +36,8 @@ int check_dir(const char * dir); bool get_fs_usage(const char * dir, long &total, long &used, long *bsize=NULL); bool get_mem_usage(unsigned long &total, unsigned long &free); +std::string getPathName(std::string &path); +std::string getBaseName(std::string &path); std::string trim(std::string &str, const std::string &trimChars = " \n\r\t"); class CFileHelpers