summaryrefslogtreecommitdiff
path: root/net-p2p/retroshare/files/retroshare-0.6.6-fix-cxx17-compilation.patch
blob: 73c5e1d18cc87c1a264429b7a74ce39749dd83ef (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
https://github.com/RetroShare/RetroShare/commit/8bed99cc9f3763269b6b1aada45a43c9993d7b80
From: Gioacchino Mazzurco <gio@eigenlab.org>
Date: Fri, 6 Aug 2021 12:15:34 +0200
Subject: [PATCH] Fix compilation with C++17
--- a/libretroshare/src/util/rsdir.cc
+++ b/libretroshare/src/util/rsdir.cc
@@ -64,6 +64,26 @@
  * #define RSDIR_DEBUG 1
  ****/
 
+#if __cplusplus < 201703L
+bool std::filesystem::create_directories(const std::string& path)
+{
+	for( std::string::size_type lastIndex = 0; lastIndex < std::string::npos;
+	     lastIndex = path.find('/', lastIndex) )
+	{
+		std::string&& curDir = path.substr(0, ++lastIndex);
+		if(!RsDirUtil::checkCreateDirectory(curDir))
+		{
+			RsErr() << __PRETTY_FUNCTION__ << " failure creating: " << curDir
+			        << " of: " << path << std::endl;
+			return false;
+		}
+	}
+	return true;
+}
+#else
+#	include <filesystem>
+#endif // __cplusplus < 201703L
+
 std::string 	RsDirUtil::getTopDir(const std::string& dir)
 {
 	std::string top;
@@ -528,24 +548,6 @@ bool RsDirUtil::checkCreateDirectory(const std::string& dir)
 	return true;
 }
 
-#if __cplusplus < 201703L
-bool std::filesystem::create_directories(const std::string& path)
-{
-	for( std::string::size_type lastIndex = 0; lastIndex < std::string::npos;
-	     lastIndex = path.find('/', lastIndex) )
-	{
-		std::string&& curDir = path.substr(0, ++lastIndex);
-		if(!RsDirUtil::checkCreateDirectory(curDir))
-		{
-			RsErr() << __PRETTY_FUNCTION__ << " failure creating: " << curDir
-			        << " of: " << path << std::endl;
-			return false;
-		}
-	}
-	return true;
-}
-#endif // __cplusplus < 201703L
-
 std::string RsDirUtil::removeSymLinks(const std::string& path)
 {
 #if defined(WINDOWS_SYS) || defined(__APPLE__) || defined(__ANDROID__)