freebsd-ports/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp
John Marino 2ea7d9cdbf multimedia/aegisub: Upgrade version 3.1.3 => 3.2.0
PR:		192479
Submitted by:	Ports Fury
2014-08-10 12:13:15 +00:00

28 lines
823 B
C++

--- libaegisub/common/cajun/reader.cpp.orig
+++ libaegisub/common/cajun/reader.cpp
@@ -10,6 +10,8 @@
#include <boost/interprocess/streams/bufferstream.hpp>
#include <cassert>
+#include <cstdio>
+#include <set>
/*
@@ -231,8 +233,16 @@
}
void Reader::MatchNumber(std::string& sNumber, InputStream& inputStream) {
+#if defined(_LIBCPP_VERSION)
const char numericChars[] = "0123456789.eE-+";
while (!inputStream.EOS() && std::find(numericChars, std::end(numericChars), inputStream.Peek()) != std::end(numericChars))
+#else
+ const char sNumericChars[] = "0123456789.eE-+";
+ std::set<char> numericChars;
+ numericChars.insert(sNumericChars, sNumericChars + sizeof(sNumericChars));
+
+ while (!inputStream.EOS()&& numericChars.count(inputStream.Peek()))
+#endif
sNumber.push_back(inputStream.Get());
}