diff options
author | Danila Fedorin <danila.fedorin@gmail.com> | 2021-01-05 02:06:25 +0000 |
---|---|---|
committer | Danila Fedorin <danila.fedorin@gmail.com> | 2021-01-05 02:06:25 +0000 |
commit | 988dd0a65f562741708f6a7a7a44e333d6a5b205 (patch) | |
tree | be4541d80f928651f0f8bbcf8ba3324ad07cbd28 | |
parent | 8a2ce0f455da32bc20978e68c0aad9efb4560abc (diff) |
Fix conversion from JSON to fetch attributes
It appears as through the fetch attribute, which
is simply a variant with 3 elements, implicitly
converts boolean arguments to integers. One must
use Explicit<bool> to correctly populate it with
a boolean. This was missing from the implementation,
and resulted in clearly boolean JSON fields being
treated as numbers.
-rw-r--r-- | src/libfetchers/attrs.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libfetchers/attrs.cc b/src/libfetchers/attrs.cc index 17fc4041f..a565d19d4 100644 --- a/src/libfetchers/attrs.cc +++ b/src/libfetchers/attrs.cc @@ -15,7 +15,7 @@ Attrs jsonToAttrs(const nlohmann::json & json) else if (i.value().is_string()) attrs.emplace(i.key(), i.value().get<std::string>()); else if (i.value().is_boolean()) - attrs.emplace(i.key(), i.value().get<bool>()); + attrs.emplace(i.key(), Explicit<bool> { i.value().get<bool>() }); else throw Error("unsupported input attribute type in lock file"); } |