Blob Blame History Raw
From a18da8569fe34f4acd364d8fbc9a6846e01e93d8 Mon Sep 17 00:00:00 2001
From: Sergey Avseyev <sergey.avseyev@gmail.com>
Date: Sat, 3 Feb 2018 21:47:44 +0300
Subject: [PATCH] Fix compiler errors in parser

src/idl_parser.cpp: In member function 'flatbuffers::CheckedError flatbuffers::Parser::ParseHexNum(int, uint64_t*)':
src/idl_parser.cpp:220:62: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
     if (!isxdigit(static_cast<const unsigned char>(cursor_[i])))
                                                              ^
src/idl_parser.cpp: In member function 'flatbuffers::CheckedError flatbuffers::Parser::Next()':
src/idl_parser.cpp:260:62: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
         if(!isdigit(static_cast<const unsigned char>(*cursor_))) return NoError();
                                                              ^
cc1plus: all warnings being treated as errors
---
 src/idl_parser.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp
index cc58a1c..cf7a476 100644
--- a/src/idl_parser.cpp
+++ b/src/idl_parser.cpp
@@ -217,7 +217,7 @@ std::string Parser::TokenToStringId(int t) {
 // Parses exactly nibbles worth of hex digits into a number, or error.
 CheckedError Parser::ParseHexNum(int nibbles, uint64_t *val) {
   for (int i = 0; i < nibbles; i++)
-    if (!isxdigit(static_cast<const unsigned char>(cursor_[i])))
+    if (!isxdigit(static_cast<unsigned char>(cursor_[i])))
       return Error("escape code must be followed by " + NumToString(nibbles) +
                    " hex digits");
   std::string target(cursor_, cursor_ + nibbles);
@@ -257,7 +257,7 @@ CheckedError Parser::Next() {
       case '{': case '}': case '(': case ')': case '[': case ']':
       case ',': case ':': case ';': case '=': return NoError();
       case '.':
-        if(!isdigit(static_cast<const unsigned char>(*cursor_))) return NoError();
+        if(!isdigit(static_cast<unsigned char>(*cursor_))) return NoError();
         return Error("floating point constant can\'t start with \".\"");
       case '\"':
       case '\'': {
-- 
2.14.3