From 6139d52a3910a70397a243651809adacb0c8607e Mon Sep 17 00:00:00 2001 From: Vincent Herbet Date: Fri, 16 Aug 2013 18:50:56 +0200 Subject: [PATCH] Fix dictionary text files parser failing on BOM marking (bug 5858, r=Nextra) Former-commit-id: 096464e3d5852cde0d91fe407598c970c5495dce --- amxmodx/CLang.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/amxmodx/CLang.cpp b/amxmodx/CLang.cpp index 89df306f..da9b4710 100755 --- a/amxmodx/CLang.cpp +++ b/amxmodx/CLang.cpp @@ -393,6 +393,14 @@ int CLangMngr::MergeDefinitionFile(const char *file) if ((buf[0] == ';') || (buf[0] == '/' && buf[1] == '/')) continue; + /* Check for BOM markings, which is only relevant on the first line. + * Not worth it, but it could be moved out of the loop. + */ + if (line == 1 && (buf[0] == (char)0xEF && buf[1] == (char)0xBB && buf[2] == (char)0xBF)) + { + buf.erase(0, 3); + } + if (buf[0] == '[' && buf.size() >= 3) { if (multiline)