summaryrefslogtreecommitdiff
path: root/src/tool/tool.h
blob: 7352772e6bfab8131d6646447a3b38735d90afba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#ifndef TOOL_H
#define TOOL_H

#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 )
    {
     const char *digit = s_digit.c_str();
     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,"&lt;");
      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);
   }
};

#endif