+#ifdef BOINC\r
+bool boinc_ReadLinesFromFile(string sPathName, vector<string>& vLine)\r
+{\r
+ vLine.clear();\r
+ char input_path[512];\r
+ boinc_resolve_filename(sPathName.c_str(), input_path, sizeof(input_path));\r
+ FILE *file = boinc_fopen(input_path, "rb");\r
+ if (!file) {\r
+ fprintf(stderr,\r
+ "Couldn't find input file, resolved name %s.\n", input_path\r
+ );\r
+ exit(-1);\r
+ }\r
+\r
+ if (file != NULL)\r
+ {\r
+ long len = GetFileLen(file);\r
+ char* data = new char[len + 1];\r
+ fread(data, 1, len, file);\r
+ data[len] = '\0';\r
+ string content = data;\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
+\r
+ string::size_type n;\r
+ while ((n = content.find("\n", 0)) != string::npos)\r
+ {\r
+ string line = content.substr(0, n);\r
+ line = TrimString(line);\r
+ if (line != "")\r
+ vLine.push_back(line);\r
+ content = content.substr(n + 1);\r
+ }\r
+\r
+ fclose(file);\r
+ }\r
+ else\r
+ return false;\r
+\r
+ return true;\r
+}\r
+#endif\r