diff options
author | 2021-01-20 17:46:03 -0500 | |
---|---|---|
committer | 2021-01-20 18:06:15 -0500 | |
commit | 91921618c2e06bd0ed073b8efccd31a127c9012d (patch) | |
tree | d3958b32d8db82540cd31083766b22991eb8e8ae /src/lib/util/hash.cpp | |
parent | c691b79cce315acdfabe1901cb2b5a1e39957bc1 (diff) |
Much more core std::string_view modernization
- Remove corestr.h from emu.h; update a few source files to not use it at all
- Change strtrimspace, strtrimrightspace and core_filename_extract_* to be pure functions taking a std::string_view by value and returning the same type
- Change strmakeupper and strmakelower to be pure functions taking a std::string_view and constructing a std::string
- Remove the string-modifying version of zippath_parent
- Change tag-based lookup functions in device_t to take std::string_view instead of const std::string & or const char *
- Remove the subdevice tag cache from device_t (since device finders are now recommended) and replace it with a map covering directly owned subdevices only
- Move the working directory setup method out of device_image_interface (only the UI seems to actually use the full version of this)
- Change output_manager to use std::string_view for output name arguments
- Change core_options to accept std::string_view for most name and value arguments (return values are still C strings for now)
- Change miscellaneous other functions to accept std::string_view arguments
- Remove a few string accessor macros from romload.h
- Remove many unnecessary c_str() calls from logging/error messages
Diffstat (limited to 'src/lib/util/hash.cpp')
-rw-r--r-- | src/lib/util/hash.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/util/hash.cpp b/src/lib/util/hash.cpp index 5f2fd6f267a..a521e737192 100644 --- a/src/lib/util/hash.cpp +++ b/src/lib/util/hash.cpp @@ -11,7 +11,6 @@ ***************************************************************************/ #include "hash.h" -#include "corestr.h" #include <cassert> #include <cctype> @@ -45,7 +44,7 @@ hash_collection::hash_collection() } -hash_collection::hash_collection(const char *string) +hash_collection::hash_collection(std::string_view string) : m_has_crc32(false), m_has_sha1(false), m_creator(nullptr) @@ -237,7 +236,13 @@ std::string hash_collection::macro_string() const buffer.append("NO_DUMP "); if (flag(FLAG_BAD_DUMP)) buffer.append("BAD_DUMP "); - strtrimspace(buffer); + + // remove trailing space + if (!buffer.empty()) + { + assert(buffer.back() == ' '); + buffer = buffer.substr(0, buffer.length() - 1); + } return buffer; } @@ -264,7 +269,10 @@ std::string hash_collection::attribute_string() const buffer.append("status=\"nodump\""); if (flag(FLAG_BAD_DUMP)) buffer.append("status=\"baddump\""); - strtrimspace(buffer); + + // remove trailing space + if (!buffer.empty() && buffer.back() == ' ') + buffer = buffer.substr(0, buffer.length() - 1); return buffer; } |