Correct checking for getopt_long()
authorVictor Kirhenshtein <victor@netxms.org>
Fri, 18 Jan 2008 17:00:35 +0000 (17:00 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Fri, 18 Jan 2008 17:00:35 +0000 (17:00 +0000)
.gitattributes
configure.ac
include/netxms_getopt.h [moved from include/getopt.h with 100% similarity]
include/nms_util.h
src/libnetxms/getopt.c
src/server/netxmsd/netxmsd.cpp

index 788c336..76b6a47 100644 (file)
@@ -203,9 +203,9 @@ include/FlexLexer.h -text
 include/Makefile.am -text
 include/ata.h -text
 include/config-netware.h -text
-include/getopt.h -text
 include/netxms-regex.h -text
 include/netxms-version.h -text
+include/netxms_getopt.h -text
 include/netxms_maps.h -text
 include/netxmsdb.h -text
 include/nms_agent.h -text
index 1dde377..efa3731 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: configure.ac,v 1.281 2008-01-07 13:51:46 victor Exp $
+# $Id: configure.ac,v 1.282 2008-01-18 17:00:34 victor Exp $
 #
 # NetXMS - Network Management System
 # Configure script
@@ -711,7 +711,7 @@ AC_CHECK_HEADERS([sys/int_types.h sys/time.h sys/utsname.h])
 AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h net/nh.h sys/socket.h])
 AC_CHECK_HEADERS([fcntl.h dirent.h sys/ioctl.h sys/sockio.h poll.h termios.h])
 AC_CHECK_HEADERS([readline/readline.h byteswap.h sys/select.h])
-AC_CHECK_HEADERS([sys/sysctl.h vm/vm_param.h syslog.h])
+AC_CHECK_HEADERS([sys/sysctl.h vm/vm_param.h syslog.h getopt.h])
 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h],,,
 [[#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
@@ -766,7 +766,11 @@ AC_CHECK_FUNCS([strrchr strtol strtoul strtoll strtoull])
 AC_CHECK_FUNCS([if_nametoindex daemon mmap strerror_r scandir uname poll])
 AC_CHECK_FUNCS([nanosleep getopt_long gmtime_r])
 
-AC_CHECK_DECLS([getopt_long])
+AC_CHECK_DECLS([getopt_long],,,[
+#if HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+])
 
 AC_CHECK_FUNCS([sysctlbyname sysctlnametomib])
 AC_CHECK_FUNCS([tcgetattr tcsetattr cfsetospeed cfsetispeed])
@@ -799,7 +803,7 @@ fi
 
 AC_CHECK_DECLS([__bswap_32, __bswap_64, htonll, ntohll],,,[
 #ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
+#include <sys/types.h>
 #endif
 #if HAVE_BYTESWAP_H
 #include <byteswap.h>
similarity index 100%
rename from include/getopt.h
rename to include/netxms_getopt.h
index 27c3947..c78de20 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: nms_util.h,v 1.113 2007-12-05 14:17:23 victor Exp $ */
+/* $Id: nms_util.h,v 1.114 2008-01-18 17:00:34 victor Exp $ */
 /* 
 ** NetXMS - Network Management System
 ** Copyright (C) 2003, 2004, 2005, 2006, 2007 Victor Kirhenshtein
@@ -303,7 +303,7 @@ typedef struct
 //
 
 #ifdef _WIN32
-#include <getopt.h>
+#include <netxms_getopt.h>
 #endif
 
 
@@ -551,6 +551,10 @@ void LIBNETXMS_EXPORTABLE StartMainLoop(THREAD_RESULT (THREAD_CALL * pfSignalHan
 /*
 
 $Log: not supported by cvs2svn $
+Revision 1.113  2007/12/05 14:17:23  victor
+
+SetDefaultCodePage now will check if codepage supported by iconv
+
 Revision 1.112  2007/09/21 10:31:05  victor
 Fixed issue 185 (creting object with russion characters in name)
 
index 0591fc4..1a1382b 100644 (file)
@@ -75,7 +75,7 @@
    GNU application programs can use a third alternative mode in which
    they can distinguish the relative order of options and other arguments.  */
 
-#include "getopt.h"
+#include <netxms_getopt.h>
 
 /* For communication from `getopt' to the caller.
    When `getopt' finds an option that takes an argument,
index a9bb0c1..c251fcf 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: netxmsd.cpp,v 1.24 2008-01-14 16:53:16 victor Exp $ */
+/* $Id: netxmsd.cpp,v 1.25 2008-01-18 17:00:35 victor Exp $ */
 /* 
 ** NetXMS - Network Management System
 ** Server startup module
 
 #include "netxmsd.h"
 
+#if HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
 #ifdef _WIN32
 #include <dbghelp.h>
 #endif
@@ -297,6 +301,7 @@ static BOOL ParseCommandLine(int argc, char *argv[])
        char login[256] = "", password[256] = "", exePath[MAX_PATH], dllPath[MAX_PATH], *ptr;
        BOOL useLogin = FALSE;
 #endif
+#if defined(_WIN32) || HAVE_DECL_GETOPT_LONG
        static struct option longOptions[] =
        {
                { "check-db", 0, NULL, 'e' },
@@ -316,8 +321,13 @@ static BOOL ParseCommandLine(int argc, char *argv[])
 #endif
                { NULL, 0, 0, 0 }
        };
+#endif
    
+#if defined(_WIN32) || HAVE_DECL_GETOPT_LONG
    while((ch = getopt_long(argc, argv, VALID_OPTIONS, longOptions, NULL)) != -1)
+#else
+   while((ch = getopt(argc, argv, VALID_OPTIONS)) != -1)
+#endif
    {
        switch(ch)
        {