From 4bc743327d1b3335319d1eae78a50b4245bf8e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20M=C3=BCller?= Date: Mon, 18 Nov 2019 18:35:00 +0100 Subject: [PATCH] Fix float literal detection Fixes #95. --- src/libclang/cxtokenizer.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libclang/cxtokenizer.cpp b/src/libclang/cxtokenizer.cpp index 4add5ac..7131cc2 100644 --- a/src/libclang/cxtokenizer.cpp +++ b/src/libclang/cxtokenizer.cpp @@ -717,10 +717,9 @@ cpp_token_kind get_kind(const detail::cxtoken& token) case CXToken_Identifier: return cpp_token_kind::identifier; - case CXToken_Literal: - { + case CXToken_Literal: { auto spelling = token.value().std_str(); - if (spelling.find('.') != std::string::npos) + if (spelling.find('.') != std::string::npos && spelling.find('\"') == std::string::npos) return cpp_token_kind::float_literal; else if (std::isdigit(spelling.front())) return cpp_token_kind::int_literal;