head 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 2008.09.21.16.23.18; author rse; state Exp; branches; next ; commitid fHncUlqkFlsKPEjt; desc @@ 1.1 log @new package: argp 1.3 (Unix/C Argument Vector Manipulation Library) @ text @Index: argp-eexst.c --- argp-eexst.c.orig 1999-10-04 23:53:17 +0200 +++ argp-eexst.c 2008-09-21 18:16:06 +0200 @@@@ -22,7 +22,11 @@@@ #include #endif -#include +#if HAVE_SYSEXITS_H +# include +#else +# define EX_USAGE 64 +#endif #include "argp.h" Index: argp-parse.c --- argp-parse.c.orig 2003-12-11 09:37:05 +0100 +++ argp-parse.c 2008-09-21 18:16:06 +0200 @@@@ -95,7 +95,9 @@@@ #define OPT_PROGNAME -2 #define OPT_USAGE -3 +#if HAVE_SLEEP && HAVE_GETPID #define OPT_HANG -4 +#endif static const struct argp_option argp_default_options[] = { @@@@ -103,8 +105,10 @@@@ {"usage", OPT_USAGE, 0, 0, N_("Give a short usage message"), 0 }, {"program-name",OPT_PROGNAME,"NAME", OPTION_HIDDEN, N_("Set the program name"), 0}, +#if OPT_HANG {"HANG", OPT_HANG, "SECS", OPTION_ARG_OPTIONAL | OPTION_HIDDEN, N_("Hang for SECS seconds (default 3600)"), 0 }, +#endif {0, 0, 0, 0, 0, 0} }; @@@@ -143,7 +147,8 @@@@ state->argv[0] = arg; break; - + +#if OPT_HANG case OPT_HANG: _argp_hang = atoi (arg ? arg : "3600"); fprintf(state->err_stream, "%s: pid = %ld\n", @@@@ -151,7 +156,8 @@@@ while (_argp_hang-- > 0) __sleep (1); break; - +#endif + default: return EBADKEY; } @@@@ -1277,13 +1283,13 @@@@ /* Defined here, in case a user is not inlining the definitions in * argp.h */ void -__argp_usage (__const struct argp_state *__state) __THROW +__argp_usage (__const struct argp_state *__state) { __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); } int -__option_is_short (__const struct argp_option *__opt) __THROW +__option_is_short (__const struct argp_option *__opt) { if (__opt->flags & OPTION_DOC) return 0; @@@@ -1297,7 +1303,7 @@@@ } int -__option_is_end (__const struct argp_option *__opt) __THROW +__option_is_end (__const struct argp_option *__opt) { return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; } Index: argp.h --- argp.h.orig 2003-12-11 09:37:05 +0100 +++ argp.h 2008-09-21 18:16:06 +0200 @@@@ -397,14 +397,14 @@@@ routine returned a non-zero value, it is returned; otherwise 0 is returned. This function may also call exit unless the ARGP_NO_HELP flag is set. INPUT is a pointer to a value to be passed in to the parser. */ -extern error_t argp_parse (__const struct argp *__restrict __argp, - int __argc, char **__restrict __argv, - unsigned __flags, int *__restrict __arg_index, - void *__restrict __input) __THROW; -extern error_t __argp_parse (__const struct argp *__restrict __argp, - int __argc, char **__restrict __argv, - unsigned __flags, int *__restrict __arg_index, - void *__restrict __input) __THROW; +extern error_t argp_parse (__const struct argp *__restrict argp, + int argc, char **__restrict argv, + unsigned flags, int *__restrict arg_index, + void *__restrict input) __THROW; +extern error_t __argp_parse (__const struct argp *__restrict argp, + int argc, char **__restrict argv, + unsigned flags, int *__restrict arg_index, + void *__restrict input) __THROW; /* Global variables. */ @@@@ -564,13 +564,13 @@@@ # endif ARGP_EI void -__argp_usage (__const struct argp_state *__state) __THROW +__argp_usage (__const struct argp_state *__state) { __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); } ARGP_EI int -__option_is_short (__const struct argp_option *__opt) __THROW +__option_is_short (__const struct argp_option *__opt) { if (__opt->flags & OPTION_DOC) return 0; @@@@ -582,7 +582,7 @@@@ } ARGP_EI int -__option_is_end (__const struct argp_option *__opt) __THROW +__option_is_end (__const struct argp_option *__opt) { return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; } Index: configure.ac --- configure.ac.orig 2004-02-23 18:57:29 +0100 +++ configure.ac 2008-09-21 18:16:37 +0200 @@@@ -26,7 +26,7 @@@@ # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS(limits.h malloc.h unistd.h) +AC_CHECK_HEADERS(limits.h malloc.h unistd.h sysexits.h stdarg.h) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@@@ -38,7 +38,7 @@@@ # Checks for library functions. AC_FUNC_ALLOCA AC_FUNC_VPRINTF -AC_CHECK_FUNCS(strerror) +AC_CHECK_FUNCS(strerror sleep getpid snprintf) AC_REPLACE_FUNCS(mempcpy strndup strchrnul) @