From bf5fc4cc4a15e8e57db58c2e065e0f5adbd8e800 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 6 Apr 2013 13:14:48 +0200 Subject: tagging ychat-0.7.9.3 --- src/tool/dir.cpp | 44 +++++----- src/tool/dir.h | 26 +++--- src/tool/tool.cpp | 251 +++++++++++++++++++++++++++++++++++++++--------------- src/tool/tool.h | 96 ++++----------------- 4 files changed, 233 insertions(+), 184 deletions(-) (limited to 'src/tool') diff --git a/src/tool/dir.cpp b/src/tool/dir.cpp index 392112a..a23cca2 100644 --- a/src/tool/dir.cpp +++ b/src/tool/dir.cpp @@ -7,60 +7,60 @@ using namespace std; dir::dir() { - b_open = false; + b_open = false; } dir::~dir() { - dir_vec.clear(); - close_dir(); + vec_dir.clear(); + close_dir(); } bool dir::open_dir( char *c_dir ) { - string s_dir( c_dir ); - return open_dir( s_dir ); + string s_dir( c_dir ); + return open_dir( s_dir ); } bool dir::open_dir( string &s_dir ) { - if ( b_open ) - return false; + if ( b_open ) + return false; - dp = opendir( s_dir.c_str() ); + p_d = opendir( s_dir.c_str() ); - if ( dp == NULL ) - return false; // Could not open dir. + if ( p_d == NULL ) + return false; // Could not open dir. - b_open = true; + b_open = true; - return true; // Could open dir with success. + return true; // Could open dir with success. } void dir::close_dir() { - if ( b_open && dp != NULL ) - { - closedir( dp ); - b_open = false; - } + if ( b_open && p_d != NULL ) + { + closedir( p_d ); + b_open = false; + } } void dir::read_dir() { - if ( dp != NULL ) - while( ep = readdir( dp ) ) - dir_vec.push_back( string( ep->d_name ) ); + if ( p_d != NULL ) + while( p_ep = readdir( p_d ) ) + vec_dir.push_back( string( p_ep->d_name ) ); } -vector +vector dir::get_dir_vec() { - return dir_vec; + return vec_dir; } #endif diff --git a/src/tool/dir.h b/src/tool/dir.h index cff265f..eea78f7 100644 --- a/src/tool/dir.h +++ b/src/tool/dir.h @@ -6,7 +6,9 @@ #include #include #include + #include + #include "../incl.h" using namespace std; @@ -14,20 +16,20 @@ using namespace std; class dir { private: - bool b_open; - DIR *dp; - struct dirent *ep; - vector dir_vec; + bool b_open; + DIR *p_d; + struct dirent *p_ep; + vector vec_dir; public: - dir(); - ~dir(); - - bool open_dir( char *c_dir ); - bool open_dir( string &s_dir ); - void close_dir(); - void read_dir(); - vector get_dir_vec(); + dir(); + ~dir(); + + bool open_dir( char *c_dir ); + bool open_dir( string &s_dir ); + void close_dir(); + void read_dir(); + vector get_dir_vec(); }; #endif diff --git a/src/tool/tool.cpp b/src/tool/tool.cpp index 1da4a12..3b8e326 100644 --- a/src/tool/tool.cpp +++ b/src/tool/tool.cpp @@ -11,118 +11,229 @@ #include "tool.h" +bool +tool::is_alpha_numeric( string &s_digit ) +{ + const char *p_digit = s_digit.c_str(); + int i_len = strlen( p_digit ); + + for( int i=0; i= '0' && *p_digit <='9') + { + i_res = (i_res * 10) + (*p_digit - '0'); + p_digit++; + } + + // Check that there were no non-digits at end. + if (*p_digit != 0) + { + return -1; + } + + return i_res; +} - // left trim - while (c_cur==' '|| c_cur == '\n' || c_cur == '\r') - { - s_str.erase(pos,1); - c_cur = s_str[++pos]; - } +string +tool::to_lower( string s_str ) +{ + string s_tmp(""); - // right trim - pos=s_str.size(); - c_cur = s_str[s_str.size()]; + for( int i = 0; i < s_str.size() ;i++ ) + s_tmp = s_tmp + (char) tolower( s_str.at(i) ); - while (c_cur==' ' || c_cur == '\n' || c_cur == '\0' || c_cur == '\r') - { - s_str.erase(pos,1); - c_cur = s_str[--pos]; - } + return s_tmp; +} + +void +tool::strip_html( string *p_str) +{ + int i_pos; + if( (i_pos=p_str->find("<", 0)) == string::npos ) + return; + + while(true) + { + p_str->replace(i_pos, 1, "<"); + + if( (i_pos = p_str->find("<", 0)) == string::npos ) + return; + } +} + +string +tool::ychat_version() +{ + return "yChat " + string(VERSION) + + "-" + string(BRANCH) + + " Build " + int2string(BUILDNR); +} + +list +tool::split_string(string s_string, string s_split) +{ + list list_ret; + unsigned i_pos, i_len = s_split.length(); + + while ( (i_pos = s_string.find(s_split)) != string::npos ) + { + list_ret.push_back( s_string.substr(0, i_pos) ); + s_string = s_string.substr( i_pos + i_len ); + } + + list_ret.push_back( s_string ); + + return list_ret; +} + +string +tool::trim( string s_str ) +{ + if( s_str.empty() ) return s_str; + + char c_cur = s_str[0]; + int i_pos = 0; + + // left trim + while ( c_cur == ' '|| c_cur == '\n' || c_cur == '\r' ) + { + s_str.erase(i_pos,1); + c_cur = s_str[++i_pos]; + } + + // right trim + i_pos = s_str.size(); + c_cur = s_str[s_str.size()]; + + while ( c_cur == ' ' || c_cur == '\n' || c_cur == '\0' || c_cur == '\r' ) + { + s_str.erase(i_pos, 1); + c_cur = s_str[--i_pos]; + } + + return s_str; } char* tool::clean_char( char* c_str ) { // Ralf: - char *c_pos; - for (c_pos = c_str; *c_pos != '\0'; ++c_pos) - if ( iscntrl(*c_pos) ) *c_pos = ' '; + for ( char* c_pos = c_str; *c_pos != '\0'; ++c_pos ) + if ( iscntrl(*c_pos) ) + *c_pos = ' '; + return c_str; } string tool::replace( string s_string, string s_search, string s_replace ) { - unsigned int i_pos[2]; + unsigned i_pos[2]; - for ( i_pos[0] = s_string.find( s_search ); - i_pos[0] != string::npos; - i_pos[0] = s_string.find( s_search, i_pos[1] ) ) - { - s_string.replace( i_pos[0], s_search.length(), s_replace ); - i_pos[1] = i_pos[0] + s_replace.length(); - } + for ( i_pos[0] = s_string.find( s_search ); + i_pos[0] != string::npos; + i_pos[0] = s_string.find( s_search, i_pos[1] ) ) + { + s_string.replace( i_pos[0], s_search.length(), s_replace ); + i_pos[1] = i_pos[0] + s_replace.length(); + } - return s_string; + return s_string; } string tool::get_extension( string s_file ) { - int pos = s_file.find_last_of("."); - if(pos != string::npos) - { - string s_ext=s_file.substr(pos+1, s_file.size()-(pos+1)); - for(int i = 0;i + using namespace std; class tool { public: - static bool is_alpha_numeric( string &s_digit ) - { - auto const char *digit = s_digit.c_str(); - auto int i_len = strlen( digit ); - - - for( int i=0; i= '0' && *digit <='9') - { - result = (result * 10) + (*digit - '0'); - digit++; - } - - // Check that there were no non-digits at end. - if (*digit != 0) - { - return -1; - } - - return result; - } - static void strip_html( string *s_str) - { - auto int i_pos; - if((i_pos=s_str->find("<",0))==string::npos) - return; - while(true) - { - s_str->replace(i_pos,1,"<"); - if((i_pos=s_str->find("<",0))==string::npos) - return; - } - } - - static string get_extension( string s_file ); - static string to_lower( string s ) - { - string s_tmp(""); - for(int i=0;i < s.size() ;i++) - s_tmp=s_tmp+(char)tolower(s.at(i)); - return s_tmp; - } - - static string shell_command( string s_command, method m_method ); - - static string ychat_version() - { - return string(VERSION) + "-" + string(BRANCH) + " Build " + int2string(BUILDNR); - } + static list split_string(string s_string, string s_split); + static bool is_alpha_numeric( string &s_digit ); + static char* int2char( int i_int ); + static char* clean_char( char* c_str); + static string trim( string s_str ); + static string replace( string s_string, string s_search, string s_replace ); + static string int2string( int i_int ); + static long unixtime(); + static int string2int( string s_digit ); + static string get_extension( string s_file ); + static string to_lower( string s_str ); + static void strip_html( string *p_str ); + static string shell_command( string s_command, method m_method ); + static string ychat_version(); }; #endif -- cgit v1.2.3