From 6a448c7d29a56cdb8ac0b545d382c24eabcb3922 Mon Sep 17 00:00:00 2001 From: martin-s Date: Fri, 30 Sep 2011 12:12:50 +0000 Subject: [PATCH] Fix:support_xgetopt:Removed unneccessary c++ dependency git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4811 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/support/xgetopt/CMakeLists.txt | 2 +- navit/navit/support/xgetopt/XGetopt.cpp | 213 ----------------------------- 2 files changed, 1 insertion(+), 214 deletions(-) delete mode 100644 navit/navit/support/xgetopt/XGetopt.cpp diff --git a/navit/navit/support/xgetopt/CMakeLists.txt b/navit/navit/support/xgetopt/CMakeLists.txt index 5852a79..98a333f 100644 --- a/navit/navit/support/xgetopt/CMakeLists.txt +++ b/navit/navit/support/xgetopt/CMakeLists.txt @@ -1,2 +1,2 @@ -supportlib_add_library(support_xgetopt XGetopt.cpp getopt_long.c) +supportlib_add_library(support_xgetopt XGetopt.c getopt_long.c) diff --git a/navit/navit/support/xgetopt/XGetopt.cpp b/navit/navit/support/xgetopt/XGetopt.cpp deleted file mode 100644 index 44de8aa..0000000 --- a/navit/navit/support/xgetopt/XGetopt.cpp +++ /dev/null @@ -1,213 +0,0 @@ -// XGetopt.cpp Version 1.2 -// -// Author: Hans Dietrich -// hdietrich2@hotmail.com -// -// Description: -// XGetopt.cpp implements getopt(), a function to parse command lines. -// -// History -// Version 1.2 - 2003 May 17 -// - Added Unicode support -// -// Version 1.1 - 2002 March 10 -// - Added example to XGetopt.cpp module header -// -// This software is released into the public domain. -// You are free to use it in any way you like. -// -// This software is provided "as is" with no expressed -// or implied warranty. I accept no liability for any -// damage or loss of business that this software may cause. -// -/////////////////////////////////////////////////////////////////////////////// - - - -/////////////////////////////////////////////////////////////////////////////// -// if you are not using precompiled headers then include these lines: -#include -#include -/////////////////////////////////////////////////////////////////////////////// - - -#include "XGetopt.h" - - -/////////////////////////////////////////////////////////////////////////////// -// -// X G e t o p t . c p p -// -// -// NAME -// getopt -- parse command line options -// -// SYNOPSIS -// int getopt(int argc, char *argv[], char *optstring) -// -// extern char *optarg; -// extern int optind; -// -// DESCRIPTION -// The getopt() function parses the command line arguments. Its -// arguments argc and argv are the argument count and array as -// passed into the application on program invocation. In the case -// of Visual C++ programs, argc and argv are available via the -// variables __argc and __argv (double underscores), respectively. -// getopt returns the next option letter in argv that matches a -// letter in optstring. (Note: Unicode programs should use -// __targv instead of __argv. Also, all character and string -// literals should be enclosed in _T( ) ). -// -// optstring is a string of recognized option letters; if a letter -// is followed by a colon, the option is expected to have an argument -// that may or may not be separated from it by white space. optarg -// is set to point to the start of the option argument on return from -// getopt. -// -// Option letters may be combined, e.g., "-ab" is equivalent to -// "-a -b". Option letters are case sensitive. -// -// getopt places in the external variable optind the argv index -// of the next argument to be processed. optind is initialized -// to 0 before the first call to getopt. -// -// When all options have been processed (i.e., up to the first -// non-option argument), getopt returns EOF, optarg will point -// to the argument, and optind will be set to the argv index of -// the argument. If there are no non-option arguments, optarg -// will be set to NULL. -// -// The special option "--" may be used to delimit the end of the -// options; EOF will be returned, and "--" (and everything after it) -// will be skipped. -// -// RETURN VALUE -// For option letters contained in the string optstring, getopt -// will return the option letter. getopt returns a question mark (?) -// when it encounters an option letter not included in optstring. -// EOF is returned when processing is finished. -// -// BUGS -// 1) Long options are not supported. -// 2) The GNU double-colon extension is not supported. -// 3) The environment variable POSIXLY_CORRECT is not supported. -// 4) The + syntax is not supported. -// 5) The automatic permutation of arguments is not supported. -// 6) This implementation of getopt() returns EOF if an error is -// encountered, instead of -1 as the latest standard requires. -// -// EXAMPLE -// BOOL CMyApp::ProcessCommandLine(int argc, char *argv[]) -// { -// int c; -// -// while ((c = getopt(argc, argv, "aBn:")) != EOF) -// { -// switch (c) -// { -// case 'a': -// TRACE("option a\n"); -// // -// // set some flag here -// // -// break; -// -// case 'B': -// TRACE( "option B\n"); -// // -// // set some other flag here -// // -// break; -// -// case 'n': -// TRACE("option n: value=%d\n", atoi(optarg)); -// // -// // do something with value here -// // -// break; -// -// case '?': -// TRACE("ERROR: illegal option %s\n", argv[optind-1]); -// return FALSE; -// break; -// -// default: -// TRACE("WARNING: no handler for option %c\n", c); -// return FALSE; -// break; -// } -// } -// // -// // check for non-option args here -// // -// return TRUE; -// } -// -/////////////////////////////////////////////////////////////////////////////// - -char *optarg; // global argument pointer -int optind = 0; // global argv index - -int getopt(int argc, char *argv[], char *optstring) -{ - static char *next = NULL; - if (optind == 0) - next = NULL; - - optarg = NULL; - - if (next == NULL || *next == '\0') - { - if (optind == 0) - optind++; - - if (optind >= argc || argv[optind][0] != '-' || argv[optind][1] == '\0') - { - optarg = NULL; - if (optind < argc) - optarg = argv[optind]; - return EOF; - } - - if (strcmp(argv[optind], "--") == 0) - { - optind++; - optarg = NULL; - if (optind < argc) - optarg = argv[optind]; - return EOF; - } - - next = argv[optind]; - next++; // skip past - - optind++; - } - - char c = *next++; - char *cp = strchr(optstring, c); - - if (cp == NULL || c == ':') - return '?'; - - cp++; - if (*cp == ':') - { - if (*next != '\0') - { - optarg = next; - next = NULL; - } - else if (optind < argc) - { - optarg = argv[optind]; - optind++; - } - else - { - return '?'; - } - } - - return c; -} -- 2.7.4