[1/2] reader: Read array subrange length into an uint64_t
Commit Message
Hello,
We read subrange length like an integer of type 'int" today. We
should read it as an uint64_t. Fixed thus.
* src/abg-reader.cc (build_subrange_type): Change the type of
length to uint64_t and read it using strtoull.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Applied to master.
---
src/abg-reader.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -3841,7 +3841,7 @@ build_subrange_type(read_context& ctxt,
if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "name"))
name = CHAR_STR(s);
- size_t length = 0;
+ uint64_t length = 0;
string length_str;
bool is_infinite = false;
if (xml_char_sptr s = XML_NODE_GET_ATTRIBUTE(node, "length"))
@@ -3849,7 +3849,7 @@ build_subrange_type(read_context& ctxt,
if (string(CHAR_STR(s)) == "infinite")
is_infinite = true;
else
- length = atoi(CHAR_STR(s));
+ length = strtoull(CHAR_STR(s), NULL, 0);
}
string underlying_type_id;