Add Hash::dummy to signal default value

We did this in the same spirit of the dummy value that's present in
libstore/path.hh
This commit is contained in:
Carlo Nucera 2020-08-05 15:11:49 -04:00
parent 1d71028f4d
commit 1ad6394b33
4 changed files with 7 additions and 3 deletions

View file

@ -113,7 +113,7 @@ struct LegacySSHStore : public Store
if (GET_PROTOCOL_MINOR(conn->remoteVersion) >= 4) {
auto s = readString(conn->from);
info->narHash = s.empty() ? Hash(htSHA256) : Hash::parseAnyPrefixed(s);
info->narHash = s.empty() ? Hash::dummy : Hash::parseAnyPrefixed(s);
info->ca = parseContentAddressOpt(readString(conn->from));
info->sigs = readStrings<StringSet>(conn->from);
}

View file

@ -100,8 +100,8 @@ struct ValidPathInfo
ValidPathInfo(const ValidPathInfo & other) = default;
ValidPathInfo(StorePath && path) : path(std::move(path)), narHash(Hash(htSHA256)) { };
ValidPathInfo(const StorePath & path) : path(path), narHash(Hash(htSHA256)) { };
ValidPathInfo(StorePath && path) : path(std::move(path)), narHash(Hash::dummy) { };
ValidPathInfo(const StorePath & path) : path(path), narHash(Hash::dummy) { };
virtual ~ValidPathInfo() { }
};

View file

@ -136,6 +136,8 @@ std::string Hash::to_string(Base base, bool includeType) const
return s;
}
Hash Hash::dummy(htSHA256);
Hash Hash::parseSRI(std::string_view original) {
auto rest = original;

View file

@ -105,6 +105,8 @@ public:
assert(type == htSHA1);
return std::string(to_string(Base16, false), 0, 7);
}
static Hash dummy;
};
/* Helper that defaults empty hashes to the 0 hash. */