diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:43 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:43 +0200 |
| commit | 312fe18cb5f97143f3600b207e979bc559256b6f (patch) | |
| tree | de14514b4b4c20adf0eecdcd261ae21839f6a645 /src/tool/tool.h | |
| parent | f038883a6e004eb4312ba1e761da06b596e14d3f (diff) | |
tagging yhttpd-0.7.0yhttpd-0.7.0
Diffstat (limited to 'src/tool/tool.h')
| -rw-r--r-- | src/tool/tool.h | 96 |
1 files changed, 80 insertions, 16 deletions
diff --git a/src/tool/tool.h b/src/tool/tool.h index e0dea50..a350c69 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 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(); + 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 ) + { + 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 ) + { + 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 yhttpd_version() + { + return string(VERSION) + "-" + string(BRANCH) + " Build " + int2string(BUILDNR); + } }; #endif |
