Commit 36d14691 authored by Pavel Solodovnikov's avatar Pavel Solodovnikov

Access string npos without instance

parent 160bed45
...@@ -109,7 +109,7 @@ bool Directory::Load(const std::string& name) ...@@ -109,7 +109,7 @@ bool Directory::Load(const std::string& name)
// Make sure the slashes in the wildcard suffix are consistent with the // Make sure the slashes in the wildcard suffix are consistent with the
// rest of the path // rest of the path
buf = new char[n + 2 + 1]; buf = new char[n + 2 + 1];
if (name.find('\\') != name.npos) { if (name.find('\\') != std::string::npos) {
sprintf(buf, "%s\\*", name.c_str()); sprintf(buf, "%s\\*", name.c_str());
} else { } else {
sprintf(buf, "%s/*", name.c_str()); sprintf(buf, "%s/*", name.c_str());
......
...@@ -147,11 +147,11 @@ std::wstring Encoding::ToWide(const std::string& str) ...@@ -147,11 +147,11 @@ std::wstring Encoding::ToWide(const std::string& str)
wstr += ToWide(str.c_str() + pos); wstr += ToWide(str.c_str() + pos);
} }
nullPos = str.find('\0', pos); nullPos = str.find('\0', pos);
if (nullPos != str.npos) { if (nullPos != std::string::npos) {
pos = nullPos + 1; pos = nullPos + 1;
wstr += wchar_t('\0'); wstr += wchar_t('\0');
} }
} while (nullPos != str.npos); } while (nullPos != std::string::npos);
#endif #endif
return wstr; return wstr;
} }
...@@ -181,11 +181,11 @@ std::string Encoding::ToNarrow(const std::wstring& str) ...@@ -181,11 +181,11 @@ std::string Encoding::ToNarrow(const std::wstring& str)
nstr += ToNarrow(str.c_str() + pos); nstr += ToNarrow(str.c_str() + pos);
} }
nullPos = str.find(wchar_t('\0'), pos); nullPos = str.find(wchar_t('\0'), pos);
if (nullPos != str.npos) { if (nullPos != std::string::npos) {
pos = nullPos + 1; pos = nullPos + 1;
nstr += '\0'; nstr += '\0';
} }
} while (nullPos != str.npos); } while (nullPos != std::string::npos);
#endif #endif
return nstr; return nstr;
} }
......
...@@ -3341,11 +3341,11 @@ std::string SystemInformationImplementation::ExtractValueFromCpuInfoFile( ...@@ -3341,11 +3341,11 @@ std::string SystemInformationImplementation::ExtractValueFromCpuInfoFile(
std::string buffer, const char* word, size_t init) std::string buffer, const char* word, size_t init)
{ {
size_t pos = buffer.find(word, init); size_t pos = buffer.find(word, init);
if (pos != buffer.npos) { if (pos != std::string::npos) {
this->CurrentPositionInFile = pos; this->CurrentPositionInFile = pos;
pos = buffer.find(":", pos); pos = buffer.find(":", pos);
size_t pos2 = buffer.find("\n", pos); size_t pos2 = buffer.find("\n", pos);
if (pos != buffer.npos && pos2 != buffer.npos) { if (pos != std::string::npos && pos2 != std::string::npos) {
// It may happen that the beginning matches, but this is still not the // It may happen that the beginning matches, but this is still not the
// requested key. // requested key.
// An example is looking for "cpu" when "cpu family" comes first. So we // An example is looking for "cpu" when "cpu family" comes first. So we
...@@ -3360,7 +3360,7 @@ std::string SystemInformationImplementation::ExtractValueFromCpuInfoFile( ...@@ -3360,7 +3360,7 @@ std::string SystemInformationImplementation::ExtractValueFromCpuInfoFile(
return buffer.substr(pos + 2, pos2 - pos - 2); return buffer.substr(pos + 2, pos2 - pos - 2);
} }
} }
this->CurrentPositionInFile = buffer.npos; this->CurrentPositionInFile = std::string::npos;
return ""; return "";
} }
...@@ -3387,7 +3387,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile() ...@@ -3387,7 +3387,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile()
// Number of logical CPUs (combination of multiple processors, multi-core // Number of logical CPUs (combination of multiple processors, multi-core
// and SMT) // and SMT)
size_t pos = buffer.find("processor\t"); size_t pos = buffer.find("processor\t");
while (pos != buffer.npos) { while (pos != std::string::npos) {
this->NumberOfLogicalCPU++; this->NumberOfLogicalCPU++;
pos = buffer.find("processor\t", pos + 1); pos = buffer.find("processor\t", pos + 1);
} }
...@@ -3396,7 +3396,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile() ...@@ -3396,7 +3396,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile()
// Count sockets. // Count sockets.
std::set<int> PhysicalIDs; std::set<int> PhysicalIDs;
std::string idc = this->ExtractValueFromCpuInfoFile(buffer, "physical id"); std::string idc = this->ExtractValueFromCpuInfoFile(buffer, "physical id");
while (this->CurrentPositionInFile != buffer.npos) { while (this->CurrentPositionInFile != std::string::npos) {
int id = atoi(idc.c_str()); int id = atoi(idc.c_str());
PhysicalIDs.insert(id); PhysicalIDs.insert(id);
idc = this->ExtractValueFromCpuInfoFile(buffer, "physical id", idc = this->ExtractValueFromCpuInfoFile(buffer, "physical id",
...@@ -3506,7 +3506,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile() ...@@ -3506,7 +3506,7 @@ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile()
this->ExtractValueFromCpuInfoFile(buffer, cachename[index]); this->ExtractValueFromCpuInfoFile(buffer, cachename[index]);
if (!cacheSize.empty()) { if (!cacheSize.empty()) {
pos = cacheSize.find(" KB"); pos = cacheSize.find(" KB");
if (pos != cacheSize.npos) { if (pos != std::string::npos) {
cacheSize = cacheSize.substr(0, pos); cacheSize = cacheSize.substr(0, pos);
} }
this->Features.L1CacheSize += atoi(cacheSize.c_str()); this->Features.L1CacheSize += atoi(cacheSize.c_str());
...@@ -4585,10 +4585,10 @@ std::string SystemInformationImplementation::ExtractValueFromSysCtl( ...@@ -4585,10 +4585,10 @@ std::string SystemInformationImplementation::ExtractValueFromSysCtl(
const char* word) const char* word)
{ {
size_t pos = this->SysCtlBuffer.find(word); size_t pos = this->SysCtlBuffer.find(word);
if (pos != this->SysCtlBuffer.npos) { if (pos != std::string::npos) {
pos = this->SysCtlBuffer.find(": ", pos); pos = this->SysCtlBuffer.find(": ", pos);
size_t pos2 = this->SysCtlBuffer.find("\n", pos); size_t pos2 = this->SysCtlBuffer.find("\n", pos);
if (pos != this->SysCtlBuffer.npos && pos2 != this->SysCtlBuffer.npos) { if (pos != std::string::npos && pos2 != std::string::npos) {
return this->SysCtlBuffer.substr(pos + 2, pos2 - pos - 2); return this->SysCtlBuffer.substr(pos + 2, pos2 - pos - 2);
} }
} }
...@@ -4660,14 +4660,14 @@ std::string SystemInformationImplementation::ParseValueFromKStat( ...@@ -4660,14 +4660,14 @@ std::string SystemInformationImplementation::ParseValueFromKStat(
args.push_back("-p"); args.push_back("-p");
std::string command = arguments; std::string command = arguments;
size_t start = command.npos; size_t start = std::string::npos;
size_t pos = command.find(' ', 0); size_t pos = command.find(' ', 0);
while (pos != command.npos) { while (pos != std::string::npos) {
bool inQuotes = false; bool inQuotes = false;
// Check if we are between quotes // Check if we are between quotes
size_t b0 = command.find('"', 0); size_t b0 = command.find('"', 0);
size_t b1 = command.find('"', b0 + 1); size_t b1 = command.find('"', b0 + 1);
while (b0 != command.npos && b1 != command.npos && b1 > b0) { while (b0 != std::string::npos && b1 != std::string::npos && b1 > b0) {
if (pos > b0 && pos < b1) { if (pos > b0 && pos < b1) {
inQuotes = true; inQuotes = true;
break; break;
...@@ -4681,7 +4681,7 @@ std::string SystemInformationImplementation::ParseValueFromKStat( ...@@ -4681,7 +4681,7 @@ std::string SystemInformationImplementation::ParseValueFromKStat(
// Remove the quotes if any // Remove the quotes if any
size_t quotes = arg.find('"'); size_t quotes = arg.find('"');
while (quotes != arg.npos) { while (quotes != std::string::npos) {
arg.erase(quotes, 1); arg.erase(quotes, 1);
quotes = arg.find('"'); quotes = arg.find('"');
} }
...@@ -4864,11 +4864,11 @@ bool SystemInformationImplementation::QueryQNXMemory() ...@@ -4864,11 +4864,11 @@ bool SystemInformationImplementation::QueryQNXMemory()
args.clear(); args.clear();
size_t pos = buffer.find("System RAM:"); size_t pos = buffer.find("System RAM:");
if (pos == buffer.npos) if (pos == std::string::npos)
return false; return false;
pos = buffer.find(":", pos); pos = buffer.find(":", pos);
size_t pos2 = buffer.find("M (", pos); size_t pos2 = buffer.find("M (", pos);
if (pos2 == buffer.npos) if (pos2 == std::string::npos)
return false; return false;
pos++; pos++;
...@@ -4922,11 +4922,11 @@ bool SystemInformationImplementation::QueryQNXProcessor() ...@@ -4922,11 +4922,11 @@ bool SystemInformationImplementation::QueryQNXProcessor()
args.clear(); args.clear();
size_t pos = buffer.find("Processor1:"); size_t pos = buffer.find("Processor1:");
if (pos == buffer.npos) if (pos == std::string::npos)
return false; return false;
size_t pos2 = buffer.find("MHz", pos); size_t pos2 = buffer.find("MHz", pos);
if (pos2 == buffer.npos) if (pos2 == std::string::npos)
return false; return false;
size_t pos3 = pos2; size_t pos3 = pos2;
...@@ -4936,9 +4936,9 @@ bool SystemInformationImplementation::QueryQNXProcessor() ...@@ -4936,9 +4936,9 @@ bool SystemInformationImplementation::QueryQNXProcessor()
this->CPUSpeedInMHz = atoi(buffer.substr(pos3 + 1, pos2 - pos3 - 1).c_str()); this->CPUSpeedInMHz = atoi(buffer.substr(pos3 + 1, pos2 - pos3 - 1).c_str());
pos2 = buffer.find(" Stepping", pos); pos2 = buffer.find(" Stepping", pos);
if (pos2 != buffer.npos) { if (pos2 != std::string::npos) {
pos2 = buffer.find(" ", pos2 + 1); pos2 = buffer.find(" ", pos2 + 1);
if (pos2 != buffer.npos && pos2 < pos3) { if (pos2 != std::string::npos && pos2 < pos3) {
this->ChipID.Revision = this->ChipID.Revision =
atoi(buffer.substr(pos2 + 1, pos3 - pos2).c_str()); atoi(buffer.substr(pos2 + 1, pos3 - pos2).c_str());
} }
...@@ -4948,7 +4948,7 @@ bool SystemInformationImplementation::QueryQNXProcessor() ...@@ -4948,7 +4948,7 @@ bool SystemInformationImplementation::QueryQNXProcessor()
do { do {
pos = buffer.find("\nProcessor", pos + 1); pos = buffer.find("\nProcessor", pos + 1);
++this->NumberOfPhysicalCPU; ++this->NumberOfPhysicalCPU;
} while (pos != buffer.npos); } while (pos != std::string::npos);
this->NumberOfLogicalCPU = 1; this->NumberOfLogicalCPU = 1;
return true; return true;
......
...@@ -553,7 +553,7 @@ bool SystemTools::HasEnv(const std::string& key) ...@@ -553,7 +553,7 @@ bool SystemTools::HasEnv(const std::string& key)
static int kwsysUnPutEnv(const std::string& env) static int kwsysUnPutEnv(const std::string& env)
{ {
size_t pos = env.find('='); size_t pos = env.find('=');
if (pos != env.npos) { if (pos != std::string::npos) {
std::string name = env.substr(0, pos); std::string name = env.substr(0, pos);
unsetenv(name.c_str()); unsetenv(name.c_str());
} else { } else {
...@@ -569,7 +569,7 @@ static int kwsysUnPutEnv(const std::string& env) ...@@ -569,7 +569,7 @@ static int kwsysUnPutEnv(const std::string& env)
{ {
int err = 0; int err = 0;
size_t pos = env.find('='); size_t pos = env.find('=');
size_t const len = pos == env.npos ? env.size() : pos; size_t const len = pos == std::string::npos ? env.size() : pos;
size_t const sz = len + 1; size_t const sz = len + 1;
char local_buf[256]; char local_buf[256];
char* buf = sz > sizeof(local_buf) ? (char*)malloc(sz) : local_buf; char* buf = sz > sizeof(local_buf) ? (char*)malloc(sz) : local_buf;
...@@ -603,7 +603,7 @@ static int kwsysUnPutEnv(std::string const& env) ...@@ -603,7 +603,7 @@ static int kwsysUnPutEnv(std::string const& env)
{ {
std::wstring wEnv = Encoding::ToWide(env); std::wstring wEnv = Encoding::ToWide(env);
size_t const pos = wEnv.find('='); size_t const pos = wEnv.find('=');
size_t const len = pos == wEnv.npos ? wEnv.size() : pos; size_t const len = pos == std::string::npos ? wEnv.size() : pos;
wEnv.resize(len + 1, L'='); wEnv.resize(len + 1, L'=');
wchar_t* newEnv = _wcsdup(wEnv.c_str()); wchar_t* newEnv = _wcsdup(wEnv.c_str());
if (!newEnv) { if (!newEnv) {
...@@ -619,7 +619,7 @@ static int kwsysUnPutEnv(std::string const& env) ...@@ -619,7 +619,7 @@ static int kwsysUnPutEnv(std::string const& env)
static int kwsysUnPutEnv(const std::string& env) static int kwsysUnPutEnv(const std::string& env)
{ {
size_t pos = env.find('='); size_t pos = env.find('=');
size_t const len = pos == env.npos ? env.size() : pos; size_t const len = pos == std::string::npos ? env.size() : pos;
int in = 0; int in = 0;
int out = 0; int out = 0;
while (environ[in]) { while (environ[in]) {
...@@ -644,7 +644,7 @@ static int kwsysUnPutEnv(const std::string& env) ...@@ -644,7 +644,7 @@ static int kwsysUnPutEnv(const std::string& env)
bool SystemTools::PutEnv(const std::string& env) bool SystemTools::PutEnv(const std::string& env)
{ {
size_t pos = env.find('='); size_t pos = env.find('=');
if (pos != env.npos) { if (pos != std::string::npos) {
std::string name = env.substr(0, pos); std::string name = env.substr(0, pos);
return setenv(name.c_str(), env.c_str() + pos + 1, 1) == 0; return setenv(name.c_str(), env.c_str() + pos + 1, 1) == 0;
} else { } else {
...@@ -1850,7 +1850,7 @@ static void ConvertVMSToUnix(std::string& path) ...@@ -1850,7 +1850,7 @@ static void ConvertVMSToUnix(std::string& path)
{ {
std::string::size_type rootEnd = path.find(":["); std::string::size_type rootEnd = path.find(":[");
std::string::size_type pathEnd = path.find("]"); std::string::size_type pathEnd = path.find("]");
if (rootEnd != path.npos) { if (rootEnd != std::string::npos) {
std::string root = path.substr(0, rootEnd); std::string root = path.substr(0, rootEnd);
std::string pathPart = path.substr(rootEnd + 2, pathEnd - rootEnd - 2); std::string pathPart = path.substr(rootEnd + 2, pathEnd - rootEnd - 2);
const char* pathCString = pathPart.c_str(); const char* pathCString = pathPart.c_str();
...@@ -4326,7 +4326,7 @@ bool SystemTools::GetPermissions(const std::string& file, mode_t& mode) ...@@ -4326,7 +4326,7 @@ bool SystemTools::GetPermissions(const std::string& file, mode_t& mode)
mode |= S_IFREG; mode |= S_IFREG;
} }
size_t dotPos = file.rfind('.'); size_t dotPos = file.rfind('.');
const char* ext = dotPos == file.npos ? 0 : (file.c_str() + dotPos); const char* ext = dotPos == std::string::npos ? 0 : (file.c_str() + dotPos);
if (ext && (Strucmp(ext, ".exe") == 0 || Strucmp(ext, ".com") == 0 || if (ext && (Strucmp(ext, ".exe") == 0 || Strucmp(ext, ".com") == 0 ||
Strucmp(ext, ".cmd") == 0 || Strucmp(ext, ".bat") == 0)) { Strucmp(ext, ".cmd") == 0 || Strucmp(ext, ".bat") == 0)) {
mode |= (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6)); mode |= (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6));
......
...@@ -329,9 +329,8 @@ static int testPipe() ...@@ -329,9 +329,8 @@ static int testPipe()
throw std::runtime_error("ReadFile#3 failed!"); throw std::runtime_error("ReadFile#3 failed!");
} }
buffer2[bytesRead] = 0; buffer2[bytesRead] = 0;
didFail = didFail = encodedTestString.compare(0, std::string::npos, buffer2,
encodedTestString.compare(0, encodedTestString.npos, buffer2, encodedTestString.size()) == 0
encodedTestString.size()) == 0
? 0 ? 0
: 1; : 1;
} }
...@@ -435,9 +434,8 @@ static int testFile() ...@@ -435,9 +434,8 @@ static int testFile()
throw std::runtime_error("ReadFile#2 failed!"); throw std::runtime_error("ReadFile#2 failed!");
} }
buffer2[bytesRead] = 0; buffer2[bytesRead] = 0;
didFail = didFail = encodedTestString.compare(0, std::string::npos, buffer2,
encodedTestString.compare(0, encodedTestString.npos, buffer2, encodedTestString.size()) == 0
encodedTestString.size()) == 0
? 0 ? 0
: 1; : 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment