summaryrefslogtreecommitdiff
path: root/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch
blob: 268b887f6d86630e0e4a82e9df58dc9632c77cc1 (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
https://bugs.gentoo.org/862195
https://cgit.freebsd.org/ports/tree/textproc/clucene/files/patch-src__core__CLucene__index__DocumentsWriter.cpp
https://cgit.freebsd.org/ports/plain/textproc/clucene/files/patch-src__core__CLucene__util__VoidMap.h
--- a/src/core/CLucene/index/DocumentsWriter.cpp
+++ b/src/core/CLucene/index/DocumentsWriter.cpp
@@ -125,7 +125,7 @@
   if (this->postingsFreeListDW.values){
       if (this->postingsFreeCountDW < this->postingsFreeListDW.length) {
           memset(this->postingsFreeListDW.values + this->postingsFreeCountDW
-              , NULL
+              , 0
               , sizeof(Posting*));
       }
       postingsFreeListDW.deleteUntilNULL();

--- a/src/core/CLucene/util/VoidMap.h
+++ b/src/core/CLucene/util/VoidMap.h
@@ -11,8 +11,13 @@
 #include "CLucene/LuceneThreads.h"
 
 #if defined(_CL_HAVE_TR1_UNORDERED_MAP) && defined(_CL_HAVE_TR1_UNORDERED_SET)
+#if defined(_LIBCPP_VERSION)
+	#include <unordered_map>
+	#include <unordered_set>
+#else
 	#include <tr1/unordered_map>
 	#include <tr1/unordered_set>
+#endif
 #elif defined(_CL_HAVE_HASH_MAP) && defined(_CL_HAVE_HASH_SET)
 	//hashing is all or nothing!
 	#include <hash_map>
@@ -83,7 +88,7 @@
 	_vt get( _kt k) const {
 		const_iterator itr = base::find(k);
 		if ( itr==base::end() )
-			return (_vt)NULL;
+			return static_cast<_vt>(0);
 		else
 			return itr->second;
 	}
@@ -316,6 +321,7 @@
 		if ( _this::dk || _this::dv )
 			_this::remove(k);
 
+		(*this)[k] = v;;
 	}
 };