summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-12-17 20:16:55 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-12-17 20:16:55 +0000
commit2d72446860abac08dc4f36b10fde7536f7897956 (patch)
tree25dc114bb696bc8752d68e6e050da8d3dda5f282 /src
parent1cd73b4dadb8e618a0ec56289408922be42aac8a (diff)
More CMake work, mostly to handle both *nix and Windows builds.
Also some tweaks to generation files (like version.sh) to take both input and output files as arguments, to handle CMake when it's used for an out-of-source build. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1836 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt22
-rw-r--r--src/bin/CMakeLists.txt15
-rw-r--r--src/core/CMakeLists.txt15
-rw-r--r--src/misc.c16
-rw-r--r--src/modulemanager.cpp24
-rw-r--r--src/modules/CMakeLists.txt15
-rw-r--r--src/protocol/CMakeLists.txt15
-rw-r--r--src/timeout.c4
-rw-r--r--src/tools/CMakeLists.txt26
-rw-r--r--src/tools/anopesmtp.c4
-rw-r--r--src/tools/db-convert.c6
-rw-r--r--src/tools/db-merger.c16
-rw-r--r--src/tools/smtp.h6
13 files changed, 118 insertions, 66 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 334492c5b..02f3df75d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -77,11 +77,12 @@ foreach(SRC ${SRC_SRCS})
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
- if(FIRST_CHAR STREQUAL "/")
+ string(SUBSTRING ${HEADER} 1 1 SECOND_CHAR)
+ if(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${HEADER})
- else(FIRST_CHAR STREQUAL "/")
+ else(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
- endif(FIRST_CHAR STREQUAL "/")
+ endif(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
@@ -100,9 +101,24 @@ endforeach(SRC)
#add_custom_target(build ALL)
#add_dependencies(build language headers src_services)
add_executable(services ${SRC_SRCS})
+set_target_properties(services PROPERTIES LINK_FLAGS "${LDFLAGS}")
+ set_target_properties(services PROPERTIES ENABLE_EXPORTS ON)
+if(WIN32)
+ target_link_libraries(services wsock32)
+endif(WIN32)
#set_target_properties(services PROPERTIES COMPILE_FLAGS ${CXXFLAGS})
add_dependencies(services language headers)
+get_target_property(SERVICES_BINARY services LOCATION)
+file(RELATIVE_PATH SERVICES_BINARY ${CMAKE_CURRENT_BINARY_DIR} ${SERVICES_BINARY})
+ set(SERVICES_BIN "${BINDIR}/${SERVICES_BINARY}")
+message("[in src] SERVICES_BIN: ${SERVICES_BIN}")
+
+configure_file(${Anope_SOURCE_DIR}/include/sysconf.h.cmake ${Anope_BINARY_DIR}/include/sysconf.h)
+if(NOT WIN32)
+ configure_file(${Anope_SOURCE_DIR}/src/bin/anoperc.cmake ${Anope_BINARY_DIR}/src/bin/anoperc)
+endif(NOT WIN32)
+
add_subdirectory(bin)
add_subdirectory(core)
add_subdirectory(modules)
diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt
index 7aa28c1cd..b587479c6 100644
--- a/src/bin/CMakeLists.txt
+++ b/src/bin/CMakeLists.txt
@@ -1,8 +1,9 @@
-install(PROGRAMS anoperc
- DESTINATION "${BINDIR}"
-)
-install(PROGRAMS mydbgen
- DESTINATION "${DATADIR}"
-)
-
+if(NOT WIN32)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/anoperc
+ DESTINATION "${BINDIR}"
+ )
+ install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/mydbgen
+ DESTINATION "${DATADIR}"
+ )
+endif(NOT WIN32)
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index eaf6ac36a..c0942b62e 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -14,7 +14,7 @@ list(SORT CORE_SRCS)
#add_custom_target(core)
#add_dependencies(core build)
-set_source_files_properties(${CORE_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
+set_source_files_properties(${CORE_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${MODULE_CXXFLAGS}")
set(cs_set.c_HEADERS encrypt.h)
set(ns_register.c_HEADERS encrypt.h)
@@ -44,11 +44,12 @@ foreach(SRC ${CORE_SRCS})
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
- if(FIRST_CHAR STREQUAL "/")
+ string(SUBSTRING ${HEADER} 1 1 SECOND_CHAR)
+ if(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${HEADER})
- else(FIRST_CHAR STREQUAL "/")
+ else(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
- endif(FIRST_CHAR STREQUAL "/")
+ endif(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
@@ -57,7 +58,11 @@ foreach(SRC ${CORE_SRCS})
add_library(${SO} MODULE ${SRC})
add_dependencies(${SO} services)
#set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" COMPILE_FLAGS ${CXXFLAGS})
- set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
+ set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" LINK_FLAGS "${LDFLAGS}")
+ if(WIN32)
+ target_link_libraries(${SO} services wsock32)
+ endif(WIN32)
+ #set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
install(TARGETS ${SO}
DESTINATION "${DATADIR}/modules"
)
diff --git a/src/misc.c b/src/misc.c
index b3adc6ae4..5e6f4a4b8 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -21,9 +21,9 @@
#define issp(c) ((c) == 32)
struct arc4_stream {
- u_int8_t i;
- u_int8_t j;
- u_int8_t s[256];
+ uint8 i;
+ uint8 j;
+ uint8 s[256];
} rs;
/*************************************************************************/
@@ -931,7 +931,7 @@ static void arc4_init()
static void arc4_addrandom(void *dat, int datlen)
{
int n;
- u_int8_t si;
+ uint8 si;
rs.i--;
for (n = 0; n < 256; n++) {
@@ -1034,9 +1034,9 @@ unsigned char getrandom8()
* Get the random numbers 16 byte deep
* @return char
*/
-u_int16_t getrandom16()
+uint16 getrandom16()
{
- u_int16_t val;
+ uint16 val;
val = getrandom8() << 8;
val |= getrandom8();
@@ -1049,9 +1049,9 @@ u_int16_t getrandom16()
* Get the random numbers 32 byte deep
* @return char
*/
-u_int32_t getrandom32()
+uint32 getrandom32()
{
- u_int32_t val;
+ uint32 val;
val = getrandom8() << 24;
val |= getrandom8() << 16;
diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp
index 4fd6043e3..cfbcc9794 100644
--- a/src/modulemanager.cpp
+++ b/src/modulemanager.cpp
@@ -111,10 +111,26 @@ static bool IsOneOfModuleTypeLoaded(MODType mt)
return false;
}
+/* This code was found online at http://www.linuxjournal.com/article/3687#comment-26593
+ *
+ * This function will take a pointer from either dlsym or GetProcAddress and cast it in
+ * a way that won't cause C++ warnings/errors to come up.
+ */
+template <class TYPE>
+TYPE function_cast(ano_module_t symbol)
+{
+ union {
+ ano_module_t symbol;
+ TYPE function;
+ } cast;
+ cast.symbol = symbol;
+ return cast.function;
+}
+
int ModuleManager::LoadModule(const std::string &modname, User * u)
{
const char *err;
- Module * (*func) (const std::string &);
+ Module *(*func)(const std::string &);
int ret = 0;
if (modname.empty())
@@ -158,7 +174,7 @@ int ModuleManager::LoadModule(const std::string &modname, User * u)
}
ano_modclearerr();
- func = reinterpret_cast<Module *(*)(const std::string &)>(ano_modsym(handle, "init_module"));
+ func = function_cast<Module *(*)(const std::string &)>(ano_modsym(handle, "init_module"));
if (func == NULL && (err = ano_moderr()) != NULL)
{
alog("No magical init function found, not an Anope module");
@@ -255,11 +271,11 @@ void ModuleManager::DeleteModule(Module *m)
handle = m->handle;
ano_modclearerr();
- destroy_func = reinterpret_cast<void (*)(Module *)>(ano_modsym(m->handle, "destroy_module"));
+ destroy_func = function_cast<void (*)(Module *)>(ano_modsym(m->handle, "destroy_module"));
if (destroy_func == NULL && (err = ano_moderr()) != NULL)
{
alog("No magical destroy function found, chancing delete...");
- delete m; /* we just have to change they haven't overwrote the delete operator then... */
+ delete m; /* we just have to chance they haven't overwrote the delete operator then... */
}
else
{
diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt
index 1e153a933..dc7a2f54e 100644
--- a/src/modules/CMakeLists.txt
+++ b/src/modules/CMakeLists.txt
@@ -14,7 +14,7 @@ list(SORT MODULES_SRCS)
#add_custom_target(modules)
#add_dependencies(modules build)
-set_source_files_properties(${MODULES_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
+set_source_files_properties(${MODULES_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${MODULE_CXXFLAGS}")
foreach(SRC ${MODULES_SRCS})
string(REGEX REPLACE "\\.cpp$" ".x" SRC_X ${SRC})
@@ -39,11 +39,12 @@ foreach(SRC ${MODULES_SRCS})
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
- if(FIRST_CHAR STREQUAL "/")
+ string(SUBSTRING ${HEADER} 1 1 SECOND_CHAR)
+ if(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${HEADER})
- else(FIRST_CHAR STREQUAL "/")
+ else(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
- endif(FIRST_CHAR STREQUAL "/")
+ endif(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
@@ -52,7 +53,11 @@ foreach(SRC ${MODULES_SRCS})
add_library(${SO} MODULE ${SRC})
add_dependencies(${SO} services)
#set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" COMPILE_FLAGS ${CXXFLAGS})
- set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
+ set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" LINK_FLAGS "${LDFLAGS}")
+ if(WIN32)
+ target_link_libraries(${SO} services wsock32)
+ endif(WIN32)
+ #set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
install(TARGETS ${SO}
DESTINATION "${DATADIR}/modules"
)
diff --git a/src/protocol/CMakeLists.txt b/src/protocol/CMakeLists.txt
index 403348704..bb94e116a 100644
--- a/src/protocol/CMakeLists.txt
+++ b/src/protocol/CMakeLists.txt
@@ -14,7 +14,7 @@ list(SORT PROTOCOL_SRCS)
#add_custom_target(modules)
#add_dependencies(protocol build)
-set_source_files_properties(${PROTOCOL_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
+set_source_files_properties(${PROTOCOL_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${MODULE_CXXFLAGS}")
foreach(SRC ${PROTOCOL_SRCS})
string(REGEX REPLACE "\\.cpp$" ".x" SRC_X ${SRC})
@@ -39,11 +39,12 @@ foreach(SRC ${PROTOCOL_SRCS})
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
- if(FIRST_CHAR STREQUAL "/")
+ string(SUBSTRING ${HEADER} 1 1 SECOND_CHAR)
+ if(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${HEADER})
- else(FIRST_CHAR STREQUAL "/")
+ else(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
- endif(FIRST_CHAR STREQUAL "/")
+ endif(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
@@ -52,7 +53,11 @@ foreach(SRC ${PROTOCOL_SRCS})
add_library(${SO} MODULE ${SRC})
add_dependencies(${SO} services)
#set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" COMPILE_FLAGS ${CXXFLAGS})
- set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
+ set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "" LINK_FLAGS "${LDFLAGS}")
+ if(WIN32)
+ target_link_libraries(${SO} services wsock32)
+ endif(WIN32)
+ #set_target_properties(${SO} PROPERTIES PREFIX "" SUFFIX "")
install(TARGETS ${SO}
DESTINATION "${DATADIR}/modules"
)
diff --git a/src/timeout.c b/src/timeout.c
index b8f31765e..d34ca9afb 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -17,6 +17,8 @@
static Timeout *timeouts = NULL;
+typedef void (*voidF)();
+
/*************************************************************************/
/* Check the timeout list for any pending actions. */
@@ -37,7 +39,7 @@ void check_timeouts()
}
if (debug >= 4) {
alog("debug: Running timeout 0x%p (code=0x%p repeat=%d)",
- static_cast<void *>(to), reinterpret_cast<void *>(to->code), to->repeat);
+ static_cast<void *>(to), reinterpret_cast<voidF>(to->code), to->repeat);
}
to->code(to);
if (to->repeat) {
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index f73a671b4..18a064683 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -10,9 +10,9 @@ list(SORT TOOLS_SRCS)
set_source_files_properties(${TOOLS_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}")
-set(anopesmtp.c_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/smtp.h)
-set(db-convert.c_HEADERS sysconf.h)
-set(db-merger.c_HEADERS sysconf.h)
+set(anopesmtp.c_HEADERS ${Anope_BINARY_DIR}/include/sysconf.h ${CMAKE_CURRENT_SOURCE_DIR}/smtp.h)
+set(db-convert.c_HEADERS ${Anope_BINARY_DIR}/include/sysconf.h)
+set(db-merger.c_HEADERS ${Anope_BINARY_DIR}/include/sysconf.h)
foreach(SRC ${TOOLS_SRCS})
#string(REGEX REPLACE "\\." "_" SRC_TARGET ${SRC})
@@ -34,17 +34,19 @@ foreach(SRC ${TOOLS_SRCS})
if(${SRC}_HEADERS)
foreach(HEADER ${${SRC}_HEADERS})
string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR)
- if(FIRST_CHAR STREQUAL "/")
+ string(SUBSTRING ${HEADER} 1 1 SECOND_CHAR)
+ if(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${HEADER})
- else(FIRST_CHAR STREQUAL "/")
+ else(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER})
- endif(FIRST_CHAR STREQUAL "/")
+ endif(FIRST_CHAR STREQUAL "/" OR SECOND_CHAR STREQUAL ":")
endforeach(HEADER)
endif(${SRC}_HEADERS)
if(HEADERS)
set_source_files_properties(${SRC} PROPERTIES OBJECT_DEPENDS "${HEADERS}")
endif(HEADERS)
add_executable(${EXE} ${SRC})
+ set_target_properties(${EXE} PROPERTIES LINK_FLAGS "${LDFLAGS}")
add_dependencies(${EXE} services)
#set_target_properties(${EXE} PROPERTIES COMPILE_FLAGS ${CXXFLAGS})
install(TARGETS ${EXE}
@@ -52,6 +54,12 @@ foreach(SRC ${TOOLS_SRCS})
)
endforeach(SRC)
-if(RUNGROUP)
- install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${BINDIR}/tools\")")
-endif(RUNGROUP)
+if(WIN32)
+ target_link_libraries(anopesmtp wsock32)
+endif(WIN32)
+
+if(NOT WIN32)
+ if(RUNGROUP)
+ install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${BINDIR}/tools\")")
+ endif(RUNGROUP)
+endif(NOT WIN32)
diff --git a/src/tools/anopesmtp.c b/src/tools/anopesmtp.c
index c775921bd..6101fb4a9 100644
--- a/src/tools/anopesmtp.c
+++ b/src/tools/anopesmtp.c
@@ -20,7 +20,7 @@ static int curday = 0;
/*************************************************************************/
-#ifdef _WIN32
+/*#ifdef _WIN32
int strcasecmp(const char *s1, const char *s2)
{
register int c;
@@ -35,7 +35,7 @@ int strcasecmp(const char *s1, const char *s2)
return -1;
return 1;
}
-#endif
+#endif*/
static int get_logname(char *name, int count, struct tm *tm)
{
diff --git a/src/tools/db-convert.c b/src/tools/db-convert.c
index 38c2e675d..d561c5333 100644
--- a/src/tools/db-convert.c
+++ b/src/tools/db-convert.c
@@ -25,10 +25,10 @@
#ifndef _WIN32
#include <unistd.h>
#else
-#include "sysconf.h"
#include <windows.h>
#include <io.h>
#endif
+#include "sysconf.h"
#include <string>
#include <iostream>
@@ -63,10 +63,6 @@
} \
} while (0)
-typedef int16_t int16;
-typedef u_int16_t uint16;
-typedef int32_t int32;
-typedef u_int32_t uint32;
typedef struct memo_ Memo;
typedef struct dbFILE_ dbFILE;
typedef struct nickalias_ NickAlias;
diff --git a/src/tools/db-merger.c b/src/tools/db-merger.c
index 81d03bba8..63bdb48a4 100644
--- a/src/tools/db-merger.c
+++ b/src/tools/db-merger.c
@@ -55,11 +55,11 @@
#ifndef _WIN32
#include <unistd.h>
#else
-#include "sysconf.h"
#include <windows.h>
#include <io.h>
#define open _open
#endif
+#include "sysconf.h"
/* Some SUN fixs */
#ifdef __sun
@@ -131,10 +131,6 @@
} \
} while (0)
-typedef int16_t int16;
-typedef u_int16_t uint16;
-typedef int32_t int32;
-typedef u_int32_t uint32;
typedef struct memo_ Memo;
typedef struct dbFILE_ dbFILE;
typedef struct nickalias_ NickAlias;
@@ -270,7 +266,7 @@ struct botinfo_ {
struct badword_ {
uint16 in_use;
char *word;
- uint16 type;
+ uint16 type;
};
struct hostcore_ {
@@ -575,7 +571,7 @@ int main(int argc, char *argv[])
scanf("%s", input);
}
if (input[0] == '1') { /* get alias #2 out of the list, then free() it, then add #1 to the list */
- printf("Deleting nick alias %s (#2).\n", naptr->nick);
+ printf("Deleting nick alias %s (#2).\n", naptr->nick);
naptr->nc->aliascount--; /* tell the core it has one alias less */
delnick(naptr, 0); /* removes the alias from the list and free()s it */
na->nc = ncptr;
@@ -620,7 +616,7 @@ int main(int argc, char *argv[])
free(s);
} /* getc_db() */
} /* for() loop */
- close_db(f); /* End of section Ib */
+ close_db(f); /* End of section Ib */
} else
nonick = 1;
}
@@ -632,7 +628,7 @@ int main(int argc, char *argv[])
for (NickCore *nc = nclists[i]; nc; nc = ncnext) {
ncnext = nc->next;
if (nc->aliascount < 1) {
- printf("Deleting core %s (%s).\n", nc->display, nc->email);
+ printf("Deleting core %s (%s).\n", nc->display, nc->email);
delcore(nc);
}
}
@@ -718,7 +714,7 @@ int main(int argc, char *argv[])
last = &chanlists[i];
prev = NULL;
-
+
while ((c = getc_db(f)) == 1) {
int j;
diff --git a/src/tools/smtp.h b/src/tools/smtp.h
index ef6a0d0aa..70a9a2033 100644
--- a/src/tools/smtp.h
+++ b/src/tools/smtp.h
@@ -14,6 +14,8 @@
#ifndef SMTP_H
#define SMTP_H
+#include "sysconf.h"
+
/*************************************************************************/
/* Some Linux boxes (or maybe glibc includes) require this for the
@@ -82,10 +84,10 @@ extern int connect(int, struct sockaddr *, int);
#endif
-#ifdef _WIN32
+/*#ifdef _WIN32
#define PATH_MAX MAX_PATH
#define snprintf _snprintf
-#endif
+#endif*/
/*************************************************************************/