Added return value checking for readlink

This commit is contained in:
Matt Hill
2016-01-05 20:01:35 -05:00
parent 5da6bd980a
commit 78fc18a82e

View File

@@ -32,19 +32,24 @@ namespace alpr
char buffer[2048]; char buffer[2048];
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
readlink("/proc/self/exe", buffer, sizeof(buffer)); if (readlink("/proc/self/exe", buffer, sizeof(buffer)) > 0)
std::stringstream ss;
ss << buffer;
std::string exeFile = ss.str();
std::string directory;
const size_t last_slash_idx = exeFile.rfind('/');
if (std::string::npos != last_slash_idx)
{ {
directory = exeFile.substr(0, last_slash_idx); std::stringstream ss;
ss << buffer;
std::string exeFile = ss.str();
std::string directory;
const size_t last_slash_idx = exeFile.rfind('/');
if (std::string::npos != last_slash_idx)
{
directory = exeFile.substr(0, last_slash_idx);
}
return directory;
}
else
{
return "/";
} }
return directory;
#endif #endif
} }