* Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>\r
* Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>\r
* Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>\r
- * Copyright 2009, 2010 James Nobis <frt@quelrod.net>\r
+ * Copyright 2009, 2010, 2011 James Nobis <frt@quelrod.net>\r
*\r
* This file is part of rcracki_mt.\r
*\r
*/\r
\r
#if defined(_WIN32) && !defined(__GNUC__)\r
- #pragma warning(disable : 4786 4267 4018)\r
+ #pragma warning(disable : 4786)\r
#endif\r
\r
#include "Public.h"\r
\r
struct timezone\r
{\r
- int tz_minuteswest; /* minutes W of Greenwich */\r
- int tz_dsttime; /* type of dst correction */\r
+ int tz_minuteswest; /* minutes W of Greenwich */\r
+ int tz_dsttime; /* type of dst correction */\r
};\r
\r
int gettimeofday(struct timeval *tv, struct timezone *tz)\r
\r
while (s.size() > 0)\r
{\r
- if (s[s.size() - 1] == ' ' || s[s.size() - 1] == '\t')\r
- s = s.substr(0, s.size() - 1);\r
+ if (s[s.size() - 1] == ' ' || s[s.size() - 1] == '\t' ||\r
+ s[s.size() - 1] == '\r' || s[s.size() - 1] == '\n')\r
+ s.resize(s.size() - 1);\r
else\r
break;\r
}\r
\r
if (file != NULL)\r
{\r
- unsigned int len = GetFileLen(file);\r
+ long len = GetFileLen(file);\r
char* data = new char[len + 1];\r
fread(data, 1, len, file);\r
data[len] = '\0';\r
FILE* file = fopen(sPathName.c_str(), "rb");\r
if (file != NULL)\r
{\r
- unsigned int len = GetFileLen(file);\r
+ long len = GetFileLen(file);\r
char* data = new char[len + 1];\r
fread(data, 1, len, file);\r
data[len] = '\0';\r
content += "\n";\r
delete [] data;\r
\r
- unsigned int i;\r
- for (i = 0; i < content.size(); i++)\r
- {\r
- if (content[i] == '\r')\r
- content[i] = '\n';\r
- }\r
+ string::iterator n = content.begin();\r
+ string::iterator line_end;\r
+ for ( ;; ) {\r
+ line_end = find(n, content.end(), '\n');\r
\r
- string::size_type n;\r
- while ((n = content.find("\n", 0)) != string::npos)\r
- {\r
- string line = content.substr(0, n);\r
+ string line(n, line_end);\r
line = TrimString(line);\r
if (line != "")\r
vLine.push_back(line);\r
- content = content.substr(n + 1);\r
+\r
+ if (line_end == content.end()) {\r
+ break;\r
+ }\r
+ n = line_end + 1;\r
}\r
\r
fclose(file);\r
\r
unsigned long GetAvailPhysMemorySize()\r
{\r
-#if defined(_WIN32)\r
+#ifdef _WIN32\r
MEMORYSTATUS ms;\r
GlobalMemoryStatus(&ms);\r
return ms.dwAvailPhys;\r