diff options
Diffstat (limited to 'src/tool/tool.cpp')
| -rw-r--r-- | src/tool/tool.cpp | 256 |
1 files changed, 129 insertions, 127 deletions
diff --git a/src/tool/tool.cpp b/src/tool/tool.cpp index dec9bdb..3b8e326 100644 --- a/src/tool/tool.cpp +++ b/src/tool/tool.cpp @@ -14,135 +14,136 @@ bool tool::is_alpha_numeric( string &s_digit ) { - const char *p_digit = s_digit.c_str(); - int i_len = strlen( p_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++; - } + for( int i=0; i<i_len; i++ ) + { + if ( ! isalnum( *p_digit ) ) + return false; + p_digit++; + } - return true; + return true; } string tool::int2string( int i_int ) { - char buf[64]; - sprintf(buf, "%d", i_int); - return buf; + char buf[64]; + sprintf(buf, "%d", i_int); + return buf; } long tool::unixtime() { - time_t clock; - return (long) time( &clock ); + 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; + 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(""); + string s_tmp(""); - for( int i = 0; i < s_str.size() ;i++ ) - s_tmp = s_tmp + (char) tolower( s_str.at(i) ); + for( int i = 0; i < s_str.size() ;i++ ) + s_tmp = s_tmp + (char) tolower( s_str.at(i) ); - return s_tmp; + return s_tmp; } void tool::strip_html( string *p_str) { - int i_pos; + int i_pos; - if( (i_pos=p_str->find("<", 0)) == string::npos ) - return; + if( (i_pos=p_str->find("<", 0)) == string::npos ) + return; + + while(true) + { + p_str->replace(i_pos, 1, "<"); - while(true) - { - p_str->replace(i_pos, 1, "<"); - - if( (i_pos = p_str->find("<", 0)) == string::npos ) - return; - } + if( (i_pos = p_str->find("<", 0)) == string::npos ) + return; + } } string tool::ychat_version() { - return "yChat " + string(VERSION) - + "-" + string(BRANCH) - + " Build " + int2string(BUILDNR); + 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(); +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 ); - } + 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 ); + list_ret.push_back( s_string ); - return list_ret; + return list_ret; } string tool::trim( string s_str ) { - if( s_str.empty() ) - return s_str; + if( s_str.empty() ) + return s_str; - char c_cur = s_str[0]; - int i_pos = 0; + 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]; - } + // 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()]; + // 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]; - } + 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; + return s_str; } char* @@ -150,7 +151,8 @@ tool::clean_char( char* c_str ) { // Ralf: for ( char* c_pos = c_str; *c_pos != '\0'; ++c_pos ) - if ( iscntrl(*c_pos) ) *c_pos = ' '; + if ( iscntrl(*c_pos) ) + *c_pos = ' '; return c_str; } @@ -158,80 +160,80 @@ tool::clean_char( char* c_str ) string tool::replace( string s_string, string s_search, string s_replace ) { - unsigned 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 i_pos = s_file.find_last_of("."); + int i_pos = s_file.find_last_of("."); - if( i_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]); + if( i_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]); - return to_lower(s_ext); - } + return to_lower(s_ext); + } - return ""; + return ""; } char* tool::int2char( int i_int ) { - char *buf = new char[64]; - sprintf(buf, "%d", i_int); - return buf; + char *buf = new char[64]; + sprintf(buf, "%d", i_int); + return buf; } string tool::shell_command( string s_command, method m_method ) { - FILE *file; - char buf[READBUF]; - char *c_pos; - string s_ret = ""; - - wrap::system_message(SHELLEX); - wrap::system_message(s_command); - - if( (file=popen(s_command.c_str(), "r")) == NULL ) + FILE *file; + char buf[READBUF]; + char *c_pos; + string s_ret = ""; + + wrap::system_message(SHELLEX); + wrap::system_message(s_command); + + if( (file=popen(s_command.c_str(), "r")) == NULL ) + { + wrap::system_message( SHELLER ); + } + else + { + while(true) { - wrap::system_message( SHELLER ); - } - - else - { - while(true) - { if(fgets(buf, READBUF, file) == NULL) - break; - - switch (m_method) { - case METH_NCURSES: - wrap::system_message( clean_char(buf) ); - break; - default: - s_ret.append("\n" + string(buf)); + break; + + switch (m_method) + { + case METH_NCURSES: + wrap::system_message( clean_char(buf) ); + break; + default: + s_ret.append("\n" + string(buf)); } // switch - } - - pclose(file); } - return s_ret; + pclose(file); + } + + return s_ret; } #endif |
