This file is indexed.

/usr/include/CLucene/SharedHeader.h is in libclucene-dev 2.3.3.4-4build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
* 
* Distributable under the terms of either the Apache License (Version 2.0) or 
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#ifndef lucene_sharedheader_h
#define lucene_sharedheader_h

/**
* This header contains definitions and macros for helping create cross-platform code.
* It is primarily for use by the clucene-core library, but is split off so that
* other applications such as the demo, test, benchmarks, etc can benefit from the
* cross platform code. Cross platform code is not distributed with the clucene-core
* and is not available through the shared library.
*/

#include "CLucene/clucene-config.h"

//some early definitions
#if defined(_MSC_VER) || defined(__BORLANDC__)
    #define _LUCENE_PRAGMA_WARNINGS //tell lucene to display warnings using pragmas instead of #warning
#endif


////////////////////////////////////////////////////////
//Are we in unicode mode?
////////////////////////////////////////////////////////
#if defined(_MBCS) || defined(_ASCII)
 #undef _ASCII
 #undef _UCS2
 #define _ASCII
#elif defined(_UNICODE)
 #ifndef _UCS2
  #define _UCS2
 #endif
#elif !defined(_UCS2)
 #define _UCS2
#endif

//msvc needs unicode define so that it uses unicode library
#ifdef _UCS2
	#undef _UNICODE
	#define _UNICODE
	#undef _ASCII
#else
	#undef _UNICODE
	#undef _UCS2
#endif
////////////////////////////////////////////////////////



////////////////////////////////////////////////////////
//platform includes that MUST be included for the public headers to work...
////////////////////////////////////////////////////////
#include <cstddef> //need this for wchar_t, size_t, NULL
#ifdef _CL_HAVE_STDINT_H
    #include <stdint.h> //need this for int32_t, etc
#endif
#include <math.h> //required for float_t
#include <string> //need to include this really early...

#ifdef _CL_HAVE_TCHAR_H
    #include <tchar.h> //required for _T and TCHAR
#endif

////////////////////////////////////////////////////////
//namespace helper
////////////////////////////////////////////////////////
#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS)
    //do nothing
#elif !defined(DISABLE_NAMESPACE) && defined(_CL_HAVE_NAMESPACES)
	#define CL_NS_DEF(sub) namespace lucene{ namespace sub{
	#define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 {

	#define CL_NS_END }}
	#define CL_NS_END2 }}}

	#define CL_NS_USE(sub) using namespace lucene::sub;
	#define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2;

	#define CL_NS(sub) lucene::sub
	#define CL_NS2(sub,sub2) lucene::sub::sub2
	    
	#define CL_STRUCT_DEF(sub,clazz) namespace lucene { namespace sub{ struct clazz; } }
	#define CL_CLASS_DEF(sub,clazz) namespace lucene { namespace sub{ class clazz; } }
	#define CL_CLASS_DEF2(sub,sub2, clazz) namespace lucene { namespace sub{ namespace sub2{ class clazz; } } }

	#define CL_TEMPATE_DEF(sub, clazz, typedefs) namespace lucene { namespace sub{ template<typedefs> class clazz; }}
	#define CL_TYPE_DEF(sub, clazz, def) namespace lucene { namespace sub{ typedef def clazz; }}
#else
	#define CL_NS_DEF(sub)
	#define CL_NS_DEF2(sub, sub2)
	#define CL_NS_END
	#define CL_NS_END2
	#define CL_NS_USE(sub)
	#define CL_NS_USE2(sub,sub2)
	#define CL_NS(sub)
	#define CL_NS2(sub,sub2)
	#define CL_CLASS_DEF(sub,clazz) class clazz;
	#define CL_CLASS_DEF2(sub,sub2, clazz) class clazz;
#endif

#if defined(LUCENE_NO_STDC_NAMESPACE)
   //todo: haven't actually tested this on a non-stdc compliant compiler
   #define CL_NS_STD(func) ::func
#else
   #define CL_NS_STD(func) std::func
#endif
//
////////////////////////////////////////////////////////

////////////////////////////////////////////////////////
// EXPORTS definition
////////////////////////////////////////////////////////
#if defined(_WIN32) || defined(_WIN64)
	#define CLUCENE_EXPORT_DECL __declspec(dllexport)
  #define CLUCENE_IMPORT_DECL __declspec(dllimport)
  #define CLUCENE_LOCAL_DECL
#elif defined(_CL_HAVE_GCCVISIBILITYPATCH)
	#define CLUCENE_EXPORT_DECL __attribute__ ((visibility("default")))
	#define CLUCENE_LOCAL_DECL __attribute__ ((visibility("hidden")))
	#define CLUCENE_IMPORT_DECL
#else
	#define CLUCENE_EXPORT_DECL
	#define CLUCENE_IMPORT_DECL
	#define CLUCENE_LOCAL_DECL
#endif

//define for the libraries
#if defined(clucene_shared_EXPORTS)
	#define CLUCENE_SHARED_EXPORT CLUCENE_EXPORT_DECL
	#define CLUCENE_LOCAL CLUCENE_LOCAL_DECL
#elif defined(MAKE_CLUCENE_SHARED_LIB)
	#define CLUCENE_SHARED_EXPORT //don't export if we are building a static library
#else
    #define CLUCENE_SHARED_EXPORT CLUCENE_IMPORT_DECL
#endif
#if defined(clucene_core_EXPORTS)
	#define CLUCENE_EXPORT CLUCENE_EXPORT_DECL
	#define CLUCENE_LOCAL CLUCENE_LOCAL_DECL
#elif defined(MAKE_CLUCENE_CORE_LIB)
	#define CLUCENE_EXPORT
#else
    #define CLUCENE_EXPORT CLUCENE_IMPORT_DECL
#endif
#if defined(clucene_contribs_lib_EXPORTS)
	#define CLUCENE_CONTRIBS_EXPORT CLUCENE_EXPORT_DECL
	#define CLUCENE_LOCAL CLUCENE_LOCAL_DECL
#elif defined(MAKE_CLUCENE_CONTRIBS_LIB)
	#define CLUCENE_CONTRIBS_EXPORT
#else
    #define CLUCENE_CONTRIBS_EXPORT CLUCENE_IMPORT_DECL
#endif
#ifndef CLUCENE_LOCAL
	#define CLUCENE_LOCAL
#endif

//inline definitions
#if defined(__MINGW32__) || defined(_MSC_VER)
 #define CLUCENE_SHARED_INLINE_EXPORT
 #define CLUCENE_INLINE_EXPORT
 #define CLUCENE_CONTRIBS_INLINE_EXPORT
#else
 #define CLUCENE_SHARED_INLINE_EXPORT CLUCENE_SHARED_EXPORT
 #define CLUCENE_INLINE_EXPORT CLUCENE_EXPORT
 #define CLUCENE_CONTRIBS_INLINE_EXPORT CLUCENE_CONTRIBS_EXPORT
#endif
////////////////////////////////////////////////////////


//todo: put this logic in cmake
#if defined(_MSC_VER)
	#if _MSC_FULL_VER >= 140050320
	    #define _CL_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
	#elif _MSC_VER >= 1300
	    #define _CL_DEPRECATE_TEXT(_Text) __declspec(deprecated)
	#else
	    #define _CL_DEPRECATE_TEXT(_Text)
	#endif
#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
	#define _CL_DEPRECATE_TEXT(_Text)  __attribute__((__deprecated__))
#else
    #define _CL_DEPRECATE_TEXT(_Text)
#endif
#define _CL_DEPRECATED(_NewItem) _CL_DEPRECATE_TEXT("This function or variable has been superceded by newer library or operating system functionality. Consider using " #_NewItem " instead. See online help for details.")
//
////////////////////////////////////////////////////////

////////////////////////////////////////////////////////
// boost stuff
////////////////////////////////////////////////////////
#if defined(_MSC_VER)
#  pragma warning (disable : 4251) // disable exported dll function
# endif

////////////////////////////////////////////////////////
//Class interfaces
////////////////////////////////////////////////////////
#include "CLucene/debug/lucenebase.h"
////////////////////////////////////////////////////////

//memory handling macros/functions
#include "CLucene/debug/mem.h"

#ifdef DMALLOC
  #include <stdlib.h>
  #include <string.h>
	#include <dmalloc.h>
#endif

#endif //lucene_sharedheader_h