diff options
Diffstat (limited to 'src/tool')
| -rw-r--r-- | src/tool/dir.cpp | 18 | ||||
| -rw-r--r-- | src/tool/dir.h | 8 | ||||
| -rw-r--r-- | src/tool/tool.cpp | 161 | ||||
| -rw-r--r-- | src/tool/tool.h | 86 |
4 files changed, 113 insertions, 160 deletions
diff --git a/src/tool/dir.cpp b/src/tool/dir.cpp index ae48d5f..392112a 100644 --- a/src/tool/dir.cpp +++ b/src/tool/dir.cpp @@ -12,7 +12,7 @@ dir::dir() dir::~dir() { - vec_dir.clear(); + dir_vec.clear(); close_dir(); } @@ -29,9 +29,9 @@ dir::open_dir( string &s_dir ) if ( b_open ) return false; - p_d = opendir( s_dir.c_str() ); + dp = opendir( s_dir.c_str() ); - if ( p_d == NULL ) + if ( dp == NULL ) return false; // Could not open dir. b_open = true; @@ -42,9 +42,9 @@ dir::open_dir( string &s_dir ) void dir::close_dir() { - if ( b_open && p_d != NULL ) + if ( b_open && dp != NULL ) { - closedir( p_d ); + closedir( dp ); b_open = false; } } @@ -52,15 +52,15 @@ dir::close_dir() void dir::read_dir() { - if ( p_d != NULL ) - while( p_ep = readdir( p_d ) ) - vec_dir.push_back( string( p_ep->d_name ) ); + if ( dp != NULL ) + while( ep = readdir( dp ) ) + dir_vec.push_back( string( ep->d_name ) ); } vector<string> dir::get_dir_vec() { - return vec_dir; + return dir_vec; } #endif diff --git a/src/tool/dir.h b/src/tool/dir.h index 22ec510..cff265f 100644 --- a/src/tool/dir.h +++ b/src/tool/dir.h @@ -6,9 +6,7 @@ #include <stdio.h> #include <sys/types.h> #include <dirent.h> - #include <vector> - #include "../incl.h" using namespace std; @@ -17,9 +15,9 @@ class dir { private: bool b_open; - DIR *p_d; - struct dirent *p_ep; - vector<string> vec_dir; + DIR *dp; + struct dirent *ep; + vector<string> dir_vec; public: dir(); diff --git a/src/tool/tool.cpp b/src/tool/tool.cpp index dec9bdb..1da4a12 100644 --- a/src/tool/tool.cpp +++ b/src/tool/tool.cpp @@ -11,135 +11,30 @@ #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<i_len; i++ ) - { - if ( ! isalnum( *p_digit ) ) - return false; - p_digit++; - } - - return true; -} - -string -tool::int2string( int i_int ) -{ - char buf[64]; - sprintf(buf, "%d", i_int); - return buf; -} - -long -tool::unixtime() -{ - time_t clock; - return (long) time( &clock ); -} - -int -tool::string2int( string s_digit ) -{ - const char *p_digit = s_digit.c_str(); - int i_res = 0; - - // Convert each digit char and add into result. - while (*p_digit >= '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; -} - -string -tool::to_lower( string s_str ) -{ - string s_tmp(""); - - for( int i = 0; i < s_str.size() ;i++ ) - s_tmp = s_tmp + (char) tolower( s_str.at(i) ); - - 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<string> -tool::split_string(string s_string, string s_split) { - list<string> 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; + if(s_str.empty()) + return ""; char c_cur = s_str[0]; - int i_pos = 0; + auto int pos=0; // left trim - while ( c_cur == ' '|| c_cur == '\n' || c_cur == '\r' ) + while (c_cur==' '|| c_cur == '\n' || c_cur == '\r') { - s_str.erase(i_pos,1); - c_cur = s_str[++i_pos]; + s_str.erase(pos,1); + c_cur = s_str[++pos]; } // right trim - i_pos = s_str.size(); + pos=s_str.size(); c_cur = s_str[s_str.size()]; - while ( c_cur == ' ' || c_cur == '\n' || c_cur == '\0' || c_cur == '\r' ) + while (c_cur==' ' || c_cur == '\n' || c_cur == '\0' || c_cur == '\r') { - s_str.erase(i_pos, 1); - c_cur = s_str[--i_pos]; + s_str.erase(pos,1); + c_cur = s_str[--pos]; } return s_str; @@ -149,16 +44,16 @@ char* tool::clean_char( char* c_str ) { // Ralf: - for ( char* c_pos = c_str; *c_pos != '\0'; ++c_pos ) + char *c_pos; + for (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 i_pos[2]; + unsigned int i_pos[2]; for ( i_pos[0] = s_string.find( s_search ); i_pos[0] != string::npos; @@ -174,34 +69,32 @@ tool::replace( string s_string, string s_search, string s_replace ) string tool::get_extension( string s_file ) { - int i_pos = s_file.find_last_of("."); - - if( i_pos != string::npos ) + int pos = s_file.find_last_of("."); + if(pos != string::npos) { - string s_ext = s_file.substr(i_pos+1, s_file.size()-i_pos-1 ); - for( int i = 0; i < s_ext.size(); ++i ) - s_ext[i] = tolower(s_ext[i]); + string s_ext=s_file.substr(pos+1, s_file.size()-(pos+1)); + for(int i = 0;i<s_ext.size();i++) + s_ext[i]=tolower(s_ext[i]); return to_lower(s_ext); } - return ""; } char* tool::int2char( int i_int ) { - char *buf = new char[64]; - sprintf(buf, "%d", i_int); - return buf; + char *buffer = new char[64]; + sprintf(buffer, "%d", i_int); + return buffer; } string tool::shell_command( string s_command, method m_method ) { FILE *file; - char buf[READBUF]; - char *c_pos; + char buffer[READBUF]; + char* c_pos; string s_ret = ""; wrap::system_message(SHELLEX); @@ -216,18 +109,16 @@ tool::shell_command( string s_command, method m_method ) { while(true) { - if(fgets(buf, READBUF, file) == NULL) + if(fgets(buffer, READBUF, file) == NULL) break; - switch (m_method) { case METH_NCURSES: - wrap::system_message( clean_char(buf) ); + wrap::system_message( clean_char(buffer) ); break; default: - s_ret.append("\n" + string(buf)); + s_ret.append("\n" + string(buffer)); } // switch } - pclose(file); } diff --git a/src/tool/tool.h b/src/tool/tool.h index b296514..b381181 100644 --- a/src/tool/tool.h +++ b/src/tool/tool.h @@ -3,27 +3,91 @@ #include "../incl.h" -#include <list> - using namespace std; class tool { public: - static list<string> split_string(string s_string, string s_split); - static bool is_alpha_numeric( string &s_digit ); + 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<i_len; i++ ) + { + if ( ! isalnum( *digit ) ) + return false; + digit++; + } + return true; + } + 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 int2string( int i_int ) + { + char buffer[64]; + sprintf(buffer, "%d", i_int); + return string(buffer); + } + + static long unixtime() + { + time_t clock; + return (long) time( &clock ); + } + + static int string2int( string s_digit ) + { + auto const char *digit = s_digit.c_str(); + int result = 0; + + // Convert each digit char and add into result. + while (*digit >= '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_str ); - static void strip_html( string *p_str ); - static string shell_command( string s_command, method m_method ); - static string ychat_version(); + 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); + } }; #endif |
