]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Fixes to compile sarg with mingw32
authorFrédéric Marchal <fmarchal@users.sourceforge.net>
Wed, 23 Nov 2011 08:31:15 +0000 (08:31 +0000)
committerFrédéric Marchal <fmarchal@users.sourceforge.net>
Wed, 23 Nov 2011 08:31:15 +0000 (08:31 +0000)
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.

CMakeLists.txt
include/conf.h
include/config.h.in
include/info.h
realtime.c

index 28a13a6dc2c7ab9dc6f2802c939c8e40b2447760..ac935a5a8fa62c42245b4f80210530215feac9cd 100755 (executable)
@@ -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")
index c939c29c2f7c3adaf0c818a6fb297781e31a0581..b87558db746c26ca0ba8389c59b556421755f63e 100755 (executable)
@@ -112,6 +112,9 @@ typedef int bool;
 #define true 1
 #define false 0
 #endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
 
 #if defined(HAVE_FOPEN64)
 #define _FILE_OFFSET_BITS 64
index 7563997a72b14b3ba3a766c1d418ecb50754369e..bac43704b58159e5ebff130e0c6eff988b0ba8b1 100644 (file)
@@ -48,6 +48,7 @@
 #cmakedefine HAVE_STDBOOL_H
 #cmakedefine HAVE_GETOPT_H
 #cmakedefine HAVE_WS2TCPIP_H
+#cmakedefine HAVE_FCNTL_H
 
 #cmakedefine IBERTY_LIB
 
index 045e3001abf51c7dcc0ea59720e1db9a5a643a2b..9d747550995a54434ef2e3f3a40403c8e1494819 100755 (executable)
@@ -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"
index 7c77bc74eea1fbd4d4350021b7415b5511161dac..664480c34f82debc34a4147e015629333737ecbd 100755 (executable)
@@ -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));