mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
ConfigInfo: Switch to doing case-insensitive comparison
This commit is contained in:
@ -2,15 +2,17 @@
|
||||
// Licensed under GPLv2+
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include <strings.h>
|
||||
#include <cstring>
|
||||
|
||||
#include "Common/CommonFuncs.h"
|
||||
#include "Common/Config/ConfigInfo.h"
|
||||
|
||||
namespace Config
|
||||
{
|
||||
bool ConfigLocation::operator==(const ConfigLocation& other) const
|
||||
{
|
||||
return std::tie(system, section, key) == std::tie(other.system, other.section, other.key);
|
||||
return system == other.system && strcasecmp(section.c_str(), other.section.c_str()) == 0 &&
|
||||
strcasecmp(key.c_str(), other.key.c_str()) == 0;
|
||||
}
|
||||
|
||||
bool ConfigLocation::operator!=(const ConfigLocation& other) const
|
||||
@ -20,6 +22,14 @@ bool ConfigLocation::operator!=(const ConfigLocation& other) const
|
||||
|
||||
bool ConfigLocation::operator<(const ConfigLocation& other) const
|
||||
{
|
||||
return std::tie(system, section, key) < std::tie(other.system, other.section, other.key);
|
||||
if (system != other.system)
|
||||
return system < other.system;
|
||||
|
||||
const int section_compare = strcasecmp(section.c_str(), other.section.c_str());
|
||||
if (section_compare != 0)
|
||||
return section_compare < 0;
|
||||
|
||||
const int key_compare = strcasecmp(key.c_str(), other.key.c_str());
|
||||
return key_compare < 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user