From b0b1c0dea9f1f27b969741b3715c1fe9a76349d7 Mon Sep 17 00:00:00 2001 From: alberth Date: Fri, 18 Feb 2011 20:23:11 +0000 Subject: (svn r22097) -Fix (r22096): Add files before commit. --- src/misc/getoptdata.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/misc/getoptdata.h (limited to 'src/misc/getoptdata.h') diff --git a/src/misc/getoptdata.h b/src/misc/getoptdata.h new file mode 100644 index 000000000..c3a204494 --- /dev/null +++ b/src/misc/getoptdata.h @@ -0,0 +1,41 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file getoptdata.h Library for parsing command-line options. */ + +#ifndef GETOPTDATA_H +#define GETOPTDATA_H + +/** Data storage for parsing command line options. */ +struct GetOptData { + char *opt; ///< Option value, if available (else \c NULL). + int numleft; ///< Number of arguments left in #argv. + char **argv; ///< Remaining command line arguments. + const char *options; ///< Command line option descriptions. + char *cont; ///< Next call to #MyGetOpt should start here (in the middle of an argument). + + /** + * Constructor of the data store. + * @param argc Number of command line arguments, excluding the program name. + * @param argv Command line arguments, excluding the program name. + * @param options Command line option descriptions. + */ + GetOptData(int argc, char **argv, const char *options) : + opt(NULL), + numleft(argc), + argv(argv), + options(options), + cont(NULL) + { + } + + int GetOpt(); +}; + +#endif /* GETOPTDATA_H */ -- cgit v1.2.3-54-g00ecf