summaryrefslogtreecommitdiff
path: root/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp
blob: 2f9e75e205968561b3b80ea0ad76916a6d927548 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
--- src/subtitle_format_ass.cpp.orig	2014-08-05 23:16:03.000000000 +0900
+++ src/subtitle_format_ass.cpp	2014-08-05 23:18:02.000000000 +0900
@@ -31,6 +31,13 @@
 #include <libaegisub/ass/uuencode.h>
 #include <libaegisub/fs.h>
 
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
+#else
+#include <boost/lexical_cast.hpp>
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
 DEFINE_EXCEPTION(AssParseError, SubtitleFormatParseError);
 
 void AssSubtitleFormat::ReadFile(AssFile *target, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const {
@@ -119,7 +126,7 @@
 	template<typename Number>
 	void WriteIfNotZero(const char *key, Number n) {
 		if (n != Number{})
-			file.WriteLineToFile(key + std::to_string(n));
+			file.WriteLineToFile(key + TO_STRING(n));
 	}
 
 	void WriteExtradata(AegisubExtradataMap const& extradata) {
@@ -131,7 +138,7 @@
 		file.WriteLineToFile("[Aegisub Extradata]");
 		for (auto const& edi : extradata) {
 			std::string line = "Data: ";
-			line += std::to_string(edi.first);
+			line += TO_STRING(edi.first);
 			line += ",";
 			line += inline_string_encode(edi.second.first);
 			line += ",";