diff --git a/include/chaiscript/language/chaiscript_engine.hpp b/include/chaiscript/language/chaiscript_engine.hpp index 640d217e..f405aeab 100644 --- a/include/chaiscript/language/chaiscript_engine.hpp +++ b/include/chaiscript/language/chaiscript_engine.hpp @@ -52,7 +52,6 @@ #include "../dispatchkit/exception_specification.hpp" -#include "chaiscript_parser.hpp" namespace chaiscript { @@ -213,7 +212,11 @@ namespace chaiscript infile.read(&v[0], static_cast(bytes_needed)); std::string buffer_string(v.begin(), v.end()); - if (chaiscript::parser::detail::Char_Parser_Helper::has_utf8_bom(buffer_string)) { + if ((buffer_string.size() > 2) + && (buffer_string[0] == '\xef') + && (buffer_string[1] == '\xbb') + && (buffer_string[2] == '\xbf')) { + infile.seekg(3); return true; } diff --git a/include/chaiscript/language/chaiscript_parser.hpp b/include/chaiscript/language/chaiscript_parser.hpp index 26152abd..b24d3179 100644 --- a/include/chaiscript/language/chaiscript_parser.hpp +++ b/include/chaiscript/language/chaiscript_parser.hpp @@ -114,12 +114,6 @@ namespace chaiscript // little SFINAE trick to avoid base class return Char_Parser_Helper::u8str_from_ll(val); } - - static bool has_utf8_bom(const std::string &t_input) - { - //skip UTF-8 BOM - return ((t_input.size() > 2) && (t_input[0] == '\xef') && (t_input[1] == '\xbb' && t_input[2] == '\xbf')); - } }; }