diff options
author | Jani Taskinen <jani@php.net> | 2007-10-01 12:40:54 +0000 |
---|---|---|
committer | Jani Taskinen <jani@php.net> | 2007-10-01 12:40:54 +0000 |
commit | 2bc631fb4040b731388fb126c2ca76a06d3989d1 (patch) | |
tree | dbfc1e424304b881f3cb6eca8ab7d9d22b75d6b2 /main/php_getopt.h | |
parent | 27e8fa0d31950854c78580264e28008e7f46325d (diff) | |
download | php-git-2bc631fb4040b731388fb126c2ca76a06d3989d1.tar.gz |
MFH:- Added common getopt implementation to core.
MFH:- Added long-option feature to getopt().
MFH:- Made getopt() available on win32 systems.
MFH: Patch by: David Soria Parra <dsp@php.net>
[DOC]: These changes will be available from 5.3+
# Note: Fixed also tests and synced basic_functions.c with HEAD.
Diffstat (limited to 'main/php_getopt.h')
-rw-r--r-- | main/php_getopt.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/main/php_getopt.h b/main/php_getopt.h new file mode 100644 index 0000000000..2739cc9ee4 --- /dev/null +++ b/main/php_getopt.h @@ -0,0 +1,57 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2007 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Marcus Boerger <helly@php.net> | + +----------------------------------------------------------------------+ +*/ + +/* $Id$ */ + +#ifndef PHP_GETOPT_H +#define PHP_GETOPT_H + +#include "php.h" + +#ifdef NETWARE +/* +As NetWare LibC has optind and optarg macros defined in unistd.h our local variables were getting mistakenly preprocessed so undeffing optind and optarg +*/ +#undef optarg +#undef optind +#endif + +/* Define structure for one recognized option (both single char and long name). + * If short_open is '-' this is the last option. */ +typedef struct _opt_struct { + char opt_char; + int need_param; + char * opt_name; +} opt_struct; + +BEGIN_EXTERN_C() +/* holds the index of the latest fetched element from the opts array */ +PHPAPI int php_optidx; +PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char **optarg, int *optind, int show_err, int arg_start); +END_EXTERN_C() + +#endif + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ |