aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-06-15 21:24:14 +0200
committerThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-06-15 21:24:14 +0200
commitb2247ef4f6b02cf4e666455eb9afc86398fff35d (patch)
treebc435a9b55757db20bb3e1cf0005203e2e3c8b7e /src
parente672d52f7caae591e4d07747a312f2bef538bbea (diff)
Don't assume the type of string::size_type
The code accidentally conflated `std::string::size_type` and `long unsigned int`. This was fine on 64bits machines where they are apparently the same in practice, but not on 32bits. Fix that by using `std::string::size_type` everywhere.
Diffstat (limited to 'src')
-rw-r--r--src/libutil/references.cc2
-rw-r--r--src/libutil/references.hh2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/libutil/references.cc b/src/libutil/references.cc
index 74003584a..7f59b4c09 100644
--- a/src/libutil/references.cc
+++ b/src/libutil/references.cc
@@ -75,7 +75,7 @@ RewritingSink::RewritingSink(const std::string & from, const std::string & to, S
RewritingSink::RewritingSink(const StringMap & rewrites, Sink & nextSink)
: rewrites(rewrites), nextSink(nextSink)
{
- long unsigned int maxRewriteSize = 0;
+ std::string::size_type maxRewriteSize = 0;
for (auto & [from, to] : rewrites) {
assert(from.size() == to.size());
maxRewriteSize = std::max(maxRewriteSize, from.size());
diff --git a/src/libutil/references.hh b/src/libutil/references.hh
index ffd730e7b..f0baeffe1 100644
--- a/src/libutil/references.hh
+++ b/src/libutil/references.hh
@@ -26,7 +26,7 @@ public:
struct RewritingSink : Sink
{
const StringMap rewrites;
- long unsigned int maxRewriteSize;
+ std::string::size_type maxRewriteSize;
std::string prev;
Sink & nextSink;
uint64_t pos = 0;