diff options
author | alberth <alberth@openttd.org> | 2011-02-18 20:23:11 +0000 |
---|---|---|
committer | alberth <alberth@openttd.org> | 2011-02-18 20:23:11 +0000 |
commit | b0b1c0dea9f1f27b969741b3715c1fe9a76349d7 (patch) | |
tree | 7e799b35a44b5114c63970a22ffeddada96ed6c0 /src/misc/getoptdata.h | |
parent | 9d0ff9d69202fccc6414f7356faa1ab22c7a14b7 (diff) | |
download | openttd-b0b1c0dea9f1f27b969741b3715c1fe9a76349d7.tar.xz |
(svn r22097) -Fix (r22096): Add files before commit.
Diffstat (limited to 'src/misc/getoptdata.h')
-rw-r--r-- | src/misc/getoptdata.h | 41 |
1 files changed, 41 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. + */ + +/** @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 */ |