mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
Core/Common/VideoCommon: Fix some weird (!eof) logic.
This commit is contained in:
parent
7e1074b140
commit
3560dce0d6
@ -250,17 +250,9 @@ bool IniFile::Load(const std::string& filename, bool keep_current_data)
|
|||||||
|
|
||||||
Section* current_section = nullptr;
|
Section* current_section = nullptr;
|
||||||
bool first_line = true;
|
bool first_line = true;
|
||||||
while (!in.eof())
|
std::string line_str;
|
||||||
|
while (std::getline(in, line_str))
|
||||||
{
|
{
|
||||||
std::string line_str;
|
|
||||||
if (!std::getline(in, line_str))
|
|
||||||
{
|
|
||||||
if (in.eof())
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string_view line = line_str;
|
std::string_view line = line_str;
|
||||||
|
|
||||||
// Skips the UTF-8 BOM at the start of files. Notepad likes to add this.
|
// Skips the UTF-8 BOM at the start of files. Notepad likes to add this.
|
||||||
|
@ -776,14 +776,11 @@ bool DSPAssembler::AssemblePass(const std::string& text, int pass)
|
|||||||
m_location.line_num = 0;
|
m_location.line_num = 0;
|
||||||
m_cur_pass = pass;
|
m_cur_pass = pass;
|
||||||
|
|
||||||
#define LINEBUF_SIZE 1024
|
constexpr int LINEBUF_SIZE = 1024;
|
||||||
char line[LINEBUF_SIZE] = {0};
|
char line[LINEBUF_SIZE] = {};
|
||||||
while (!m_failed && !fsrc.fail() && !fsrc.eof())
|
while (!m_failed && fsrc.getline(line, LINEBUF_SIZE))
|
||||||
{
|
{
|
||||||
int opcode_size = 0;
|
int opcode_size = 0;
|
||||||
fsrc.getline(line, LINEBUF_SIZE);
|
|
||||||
if (fsrc.fail())
|
|
||||||
break;
|
|
||||||
|
|
||||||
m_location.line_text = line;
|
m_location.line_text = line;
|
||||||
m_location.line_num++;
|
m_location.line_num++;
|
||||||
|
@ -137,43 +137,40 @@ void PostProcessingConfiguration::LoadOptions(const std::string& code)
|
|||||||
|
|
||||||
std::vector<GLSLStringOption> option_strings;
|
std::vector<GLSLStringOption> option_strings;
|
||||||
GLSLStringOption* current_strings = nullptr;
|
GLSLStringOption* current_strings = nullptr;
|
||||||
while (!in.eof())
|
std::string line_str;
|
||||||
|
while (std::getline(in, line_str))
|
||||||
{
|
{
|
||||||
std::string line_str;
|
std::string_view line = line_str;
|
||||||
if (std::getline(in, line_str))
|
|
||||||
{
|
|
||||||
std::string_view line = line_str;
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
// Check for CRLF eol and convert it to LF
|
// Check for CRLF eol and convert it to LF
|
||||||
if (!line.empty() && line.at(line.size() - 1) == '\r')
|
if (!line.empty() && line.at(line.size() - 1) == '\r')
|
||||||
line.remove_suffix(1);
|
line.remove_suffix(1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!line.empty())
|
if (!line.empty())
|
||||||
|
{
|
||||||
|
if (line[0] == '[')
|
||||||
{
|
{
|
||||||
if (line[0] == '[')
|
size_t endpos = line.find("]");
|
||||||
{
|
|
||||||
size_t endpos = line.find("]");
|
|
||||||
|
|
||||||
if (endpos != std::string::npos)
|
if (endpos != std::string::npos)
|
||||||
{
|
{
|
||||||
// New section!
|
// New section!
|
||||||
std::string_view sub = line.substr(1, endpos - 1);
|
std::string_view sub = line.substr(1, endpos - 1);
|
||||||
option_strings.push_back({std::string(sub)});
|
option_strings.push_back({std::string(sub)});
|
||||||
current_strings = &option_strings.back();
|
current_strings = &option_strings.back();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (current_strings)
|
||||||
{
|
{
|
||||||
if (current_strings)
|
std::string key, value;
|
||||||
{
|
Common::IniFile::ParseLine(line, &key, &value);
|
||||||
std::string key, value;
|
|
||||||
Common::IniFile::ParseLine(line, &key, &value);
|
|
||||||
|
|
||||||
if (!(key.empty() && value.empty()))
|
if (!(key.empty() && value.empty()))
|
||||||
current_strings->m_options.emplace_back(key, value);
|
current_strings->m_options.emplace_back(key, value);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user