'/' + 1 = '0', and the start marker will be skipped, so it will miss the
'0' object.
Fixes: http://tracker.ceph.com/issues/39989
Signed-off-by: Tianshan Qu <tianshan@xsky.com>
(cherry picked from commit
43b5264c7d61ae3be56d68f131b544edee307a46)
Conflicts:
src/rgw/rgw_rados.cc
- mimic does not have "unsigned" in the line "unsigned char e = delim.back();"
static inline std::string after_delim(std::string_view delim)
{
// assert: ! delim.empty()
- char e = delim.back();
- delim.remove_suffix(1);
std::string result{delim.data(), delim.length()};
- if (e < 255) {
- result += char(++e);
- } else {
- result += e;
- result += char(255);
- }
+ result += char(255);
return result;
}