Fix innacurate test condition when reading an enum type from abixml
authorDodji Seketeli <dodji@redhat.com>
Mon, 29 May 2017 08:26:37 +0000 (10:26 +0200)
committerDodji Seketeli <dodji@redhat.com>
Mon, 3 Jul 2017 15:45:45 +0000 (17:45 +0200)
* src/abg-reader.cc (build_enum_type_decl): Do not check for
errno which might have been set earlier by something else.
Rather, check the returned value for overflow or underflow.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
src/abg-reader.cc

index f0c4f5d1bac1e44703c09118f02c401b58ed3071..f1ba6c3b3b573f14ca8efcdb122a20edd978f7ab 100644 (file)
@@ -3905,7 +3905,7 @@ build_enum_type_decl(read_context&        ctxt,
          if (a)
            {
              value = strtoll(CHAR_STR(a), NULL, 0);
-             if (errno == ERANGE)
+             if (value == LLONG_MIN || value == LLONG_MAX)
                return nil;
            }