summaryrefslogtreecommitdiff
path: root/src/misc/getoptdata.h
diff options
context:
space:
mode:
authoralberth <alberth@openttd.org>2011-02-18 20:23:11 +0000
committeralberth <alberth@openttd.org>2011-02-18 20:23:11 +0000
commitb0b1c0dea9f1f27b969741b3715c1fe9a76349d7 (patch)
tree7e799b35a44b5114c63970a22ffeddada96ed6c0 /src/misc/getoptdata.h
parent9d0ff9d69202fccc6414f7356faa1ab22c7a14b7 (diff)
downloadopenttd-b0b1c0dea9f1f27b969741b3715c1fe9a76349d7.tar.xz
(svn r22097) -Fix (r22096): Add files before commit.
Diffstat (limited to 'src/misc/getoptdata.h')
-rw-r--r--src/misc/getoptdata.h41
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 */