hdd_menu: improve error resilience in getFmtType()

This commit is contained in:
Stefan Seyfried
2014-02-23 17:58:06 +01:00
parent 0daee84364
commit 2f09cf0a2f

View File

@@ -111,14 +111,18 @@ std::string getFmtType(const char* name, int num)
FILE* f = my_popen(pid, pcmd.c_str(), "r");
if (f != NULL) {
char buff[512];
fgets(buff, sizeof(buff), f);
if (!fgets(buff, sizeof(buff), f))
buff[0] = '\0';
fclose(f);
ret = buff;
std::string search = "TYPE=\"";
size_t pos = ret.find(search);
if (pos == std::string::npos)
return "";
ret = ret.substr(pos + search.length());
pos = ret.find("\"");
ret = ret.substr(0, pos);
if (pos != std::string::npos)
ret = ret.substr(0, pos);
}
return ret;
}