summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/hash.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-01-20 17:46:03 -0500
committer AJR <ajrhacker@users.noreply.github.com>2021-01-20 18:06:15 -0500
commit91921618c2e06bd0ed073b8efccd31a127c9012d (patch)
treed3958b32d8db82540cd31083766b22991eb8e8ae /src/lib/util/hash.cpp
parentc691b79cce315acdfabe1901cb2b5a1e39957bc1 (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.cpp16
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;
}