From: Frédéric Marchal Date: Wed, 23 Nov 2011 08:31:15 +0000 (+0000) Subject: Fixes to compile sarg with mingw32 X-Git-Tag: v2.3.2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=72a23a7ab7145f6781e8a155aa090dda62bfd712;p=thirdparty%2Fsarg.git Fixes to compile sarg with mingw32 The mkstemp function isn't available on mingw32 so it is replaced by the less safe mktemp/open calls. mkstemp is used whenever possible. The weaker code is only used if mkstemp is not available. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 28a13a6..ac935a5 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ PROJECT(sarg C) SET(sarg_VERSION 2) SET(sarg_REVISION "3.2-pre2") SET(sarg_BUILD "") -SET(sarg_BUILDDATE "Nov-01-2011") +SET(sarg_BUILDDATE "Nov-23-2011") INCLUDE(AddFileDependencies) INCLUDE(CheckIncludeFile) @@ -116,6 +116,7 @@ CHECK_INCLUDE_FILE(libintl.h HAVE_LIBINTL_H) CHECK_INCLUDE_FILE(libgen.h HAVE_LIBGEN_H) CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H) CHECK_INCLUDE_FILE(getopt.h HAVE_GETOPT_H) +CHECK_INCLUDE_FILE(fcntl.h HAVE_FCNTL_H) IF(!HAVE_GETOPT_H) MESSAGE(SEND_ERROR "getopt.h is required to compile sarg") diff --git a/include/conf.h b/include/conf.h index c939c29..b87558d 100755 --- a/include/conf.h +++ b/include/conf.h @@ -112,6 +112,9 @@ typedef int bool; #define true 1 #define false 0 #endif +#ifdef HAVE_FCNTL_H +#include +#endif #if defined(HAVE_FOPEN64) #define _FILE_OFFSET_BITS 64 diff --git a/include/config.h.in b/include/config.h.in index 7563997..bac4370 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -48,6 +48,7 @@ #cmakedefine HAVE_STDBOOL_H #cmakedefine HAVE_GETOPT_H #cmakedefine HAVE_WS2TCPIP_H +#cmakedefine HAVE_FCNTL_H #cmakedefine IBERTY_LIB diff --git a/include/info.h b/include/info.h index 045e300..9d74755 100755 --- a/include/info.h +++ b/include/info.h @@ -1,3 +1,3 @@ -#define VERSION PACKAGE_VERSION" Nov-01-2011" +#define VERSION PACKAGE_VERSION" Nov-23-2011" #define PGM PACKAGE_NAME #define URL "http://sarg.sourceforge.net" diff --git a/realtime.c b/realtime.c index 7c77bc7..664480c 100755 --- a/realtime.c +++ b/realtime.c @@ -44,14 +44,18 @@ static void getlog(void) char template2[255]="/var/tmp/sargtpl2.XXXXXX"; char cmd[512]; char *buf; - int fd1,fd2; + int fd1; int cstatus; longline line; init_usertab(UserTabFile); +#ifdef HAVE_MKSTEMP fd1 = mkstemp(template1); - fd2 = mkstemp(template2); +#else + fd1=open(mktemp(template1),O_RDWR); +#endif + mktemp(template2); if((fd1 == -1 ) || ((tmp = fdopen (fd1, "w+" )) == NULL) ) { /* failure, bail out */ debuga(_("(realtime) mkstemp error - %s\n"),strerror(errno));