\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
string::size_type nStart = (int) sCharset.rfind('(');\r
string sChar = sCharset.substr(nStart + 1, nEnd - nStart - 1);\r
vector<string> vParts;\r
- SeperateString(sChar, ",", vParts);\r
+ SeparateString(sChar, ",", vParts);\r
for(uint32 i = 0; i < vParts.size(); i++)\r
{\r
tCharset stCharset;\r
vector<string> vParts2;\r
- SeperateString(vParts[i], "#", vParts2);\r
+ SeparateString(vParts[i], "#", vParts2);\r
stCharset.sName = vParts2[0];\r
vector<string> vParts3;\r
- SeperateString(vParts2[1], "-", vParts3);\r
+ SeparateString(vParts2[1], "-", vParts3);\r
stCharset.nPlainLenMin = atoi(vParts3[0].c_str());\r
stCharset.nPlainLenMax = atoi(vParts3[1].c_str());\r
vCharset.push_back(stCharset);\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
return false;\r
}\r
\r
-bool SeperateString(string s, string sSeperator, vector<string>& vPart)\r
+bool SeparateString(string s, string sSeperator, vector<string>& vPart)\r
{\r
vPart.clear();\r
\r