Go to the source code of this file.
int32 ascent_roundd |
( |
double |
v | ) |
|
Definition at line 34 of file util.cpp.
36 double int_part = floor(v);
37 double float_part = v - int_part;
38 if( float_part > 0.5f )
39 return int32(int_part + 1.0f);
41 return int32(int_part);
int32 ascent_roundf |
( |
float |
v | ) |
|
Definition at line 24 of file util.cpp.
References float2int32().
26 float int_part = floorf(v);
27 float float_part = v - int_part;
28 if( float_part > 0.5f )
int32 float2int32(const float value)
Fastest Method of float2int32.
bool CheckIPs |
( |
const char * |
szIPList | ) |
|
Definition at line 545 of file util.cpp.
References get_tokens(), ParseCIDRBan(), and strdup.
547 #ifdef HAVE_WINDOWS_H
548 char* ip_string =
strdup(szIPList);
551 int count =
get_tokens(ip_string, (
char**)tokens, 30,
':');
553 unsigned int ips[30];
555 for(
int i = 0; i < count; ++i)
557 char* t = strchr(tokens[i],
'/');
561 masks[i] = atoi(t+1);
566 ips[i] = inet_addr(tokens[i]);
569 char computer_name[100] = {0};
570 DWORD computer_name_len = 100;
571 GetComputerNameA(computer_name, &computer_name_len);
573 hostent* ent = gethostbyname(computer_name);
580 for(
int i = 0; ent->h_addr_list[i] != NULL; ++i )
584 for(
int j = 0; j < count; ++j )
586 if(
ParseCIDRBan(*(
unsigned int*)ent->h_addr_list[i], ips[j], masks[j]) )
int get_tokens(const char *szInput, char **pOutput, int iMaxCount, char cSeperator)
bool ParseCIDRBan(unsigned int IP, unsigned int Mask, unsigned int MaskBits)
string ConvertTimeStampToDataTime |
( |
uint32 |
timestamp | ) |
|
Definition at line 391 of file util.cpp.
References MakeIntString().
394 time_t t = (time_t)timestamp;
395 tm * pTM = localtime(&t);
402 szResult += szTempBuf;
409 szResult += szTempBuf;
412 szResult += szTempBuf;
415 szResult += szTempBuf;
418 szResult += szTempBuf;
const char * szMonthNames[12]
void MakeIntString(char *buf, int num)
const char * szDayNames[7]
string ConvertTimeStampToString |
( |
uint32 |
timestamp | ) |
|
Definition at line 209 of file util.cpp.
References MakeIntStringNoZero().
211 int seconds = (int)timestamp;
263 szResult += szTempBuf;
264 szResult +=
" years, ";
269 szResult += szTempBuf;
270 szResult +=
" months, ";
275 szResult += szTempBuf;
276 szResult +=
" days, ";
281 szResult += szTempBuf;
282 szResult +=
" hours, ";
287 szResult += szTempBuf;
288 szResult +=
" minutes, ";
293 szResult += szTempBuf;
294 szResult +=
" seconds";
void MakeIntStringNoZero(char *buf, int num)
string ConvertTimeStampToStringNC |
( |
uint32 |
timestamp | ) |
|
Definition at line 300 of file util.cpp.
References MakeIntStringNoZero().
302 int seconds = (int)timestamp;
354 szResult += szTempBuf;
360 szResult += szTempBuf;
361 szResult +=
" months ";
366 szResult += szTempBuf;
367 szResult +=
" days ";
372 szResult += szTempBuf;
378 szResult += szTempBuf;
379 szResult +=
" mins ";
384 szResult += szTempBuf;
void MakeIntStringNoZero(char *buf, int num)
time_t convTimePeriod |
( |
uint32 |
dLength, |
|
|
char |
dType |
|
) |
| |
Definition at line 96 of file util.cpp.
101 struct tm * ti = localtime( &rawtime );
105 ti->tm_hour += dLength;
108 ti->tm_mday += dLength;
111 ti->tm_mday += 7 * dLength;
114 ti->tm_mon += dLength;
118 ti->tm_year += dLength;
121 ti->tm_min += dLength;
int get_tokens |
( |
const char * |
szInput, |
|
|
char ** |
pOutput, |
|
|
int |
iMaxCount, |
|
|
char |
cSeperator |
|
) |
| |
Definition at line 491 of file util.cpp.
Referenced by CheckIPs().
503 while(*p !=
'\0' && *p != cSeperator)
514 pOutput[count++] = q;
524 pOutput[count++] = q;
527 while(*p == cSeperator)
538 if( count == iMaxCount )
void MakeIntString |
( |
char * |
buf, |
|
|
int |
num |
|
) |
| |
void MakeIntStringNoZero |
( |
char * |
buf, |
|
|
int |
num |
|
) |
| |
unsigned int MakeIP |
( |
const char * |
str | ) |
|
Definition at line 478 of file util.cpp.
480 unsigned int bytes[4];
482 if( sscanf(str,
"%u.%u.%u.%u", &bytes[0], &bytes[1], &bytes[2], &bytes[3]) != 4 )
487 res = bytes[0] | (bytes[1] << 8) | (bytes[2] << 16) | (bytes[3] << 24);
bool ParseCIDRBan |
( |
unsigned int |
IP, |
|
|
unsigned int |
Mask, |
|
|
unsigned int |
MaskBits |
|
) |
| |
Definition at line 424 of file util.cpp.
Referenced by CheckIPs().
429 unsigned char * source_ip = (
unsigned char*)&IP;
430 unsigned char * mask = (
unsigned char*)&Mask;
431 int full_bytes = MaskBits / 8;
432 int leftover_bits = MaskBits % 8;
442 static const unsigned char leftover_bits_compare[9] = {
457 if( memcmp( source_ip, mask, full_bytes ) != 0 )
464 if( leftover_bits > 0 )
466 if( ( source_ip[full_bytes] & leftover_bits_compare[leftover_bits] ) !=
467 ( mask[full_bytes] & leftover_bits_compare[leftover_bits] ) )
vector<string> StrSplit |
( |
const string & |
src, |
|
|
const string & |
sep |
|
) |
| |
Definition at line 44 of file util.cpp.
48 for (string::const_iterator i = src.begin(); i != src.end(); i++) {
49 if (sep.find(*i) != string::npos) {
50 if (s.length()) r.push_back(s);
56 if (s.length()) r.push_back(s);
const char* szDayNames[7] |
Initial value:= {
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
}
Definition at line 186 of file util.cpp.
const char* szMonthNames[12] |
Initial value:= {
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
}
Definition at line 190 of file util.cpp.