Fixes from upstream.
[cfd] / mdwopt.h
index 1fe79c2..1205b7b 100644 (file)
--- a/mdwopt.h
+++ b/mdwopt.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: mdwopt.h,v 1.5 1999/05/19 20:23:59 mdw Exp $
+ * $Id: mdwopt.h,v 1.8 1999/08/19 18:37:43 mdw Exp $
  *
  * Options parsing, similar to GNU @getopt_long@
  *
 /*----- Revision history --------------------------------------------------*
  *
  * $Log: mdwopt.h,v $
+ * Revision 1.8  1999/08/19 18:37:43  mdw
+ * Fix stupid error.
+ *
+ * Revision 1.7  1999/08/19 18:35:10  mdw
+ * Add a couple more flag constants.
+ *
+ * Revision 1.6  1999/05/20 23:00:30  mdw
+ * Carry through changes to the interface properly in the documentation.
+ * Other little formatting things.
+ *
  * Revision 1.5  1999/05/19 20:23:59  mdw
  * Change naming to match newer mLib conventions.
  *
@@ -143,8 +153,10 @@ enum {
 /* --- New style flag names --- */
 
 enum {
+  OPTF_NOARG = 0,                      /* No argument */
   OPTF_ARGREQ = 1,                     /* Required argument */
   OPTF_ARGOPT = 2,                     /* Optional argument */
+  OPTF_ARG = 3,                                /* Argument type bitmask */
   OPTF_SWITCH = 4,                     /* OR val into flag, don't store */
   OPTF_NEGATE = 8                      /* Allow long option to be negated */
 };
@@ -333,7 +345,7 @@ enum {
  *              the caller.  A pointer to an argument is stored in
  *              @data->arg@, or @NULL@ is stored if there was no argument.
  *              If a negated option was found, the option character is
- *              returned ORred with @gFlag_negated@ (bit 8 set).
+ *              returned ORred with @OPTF_NEGATED@ (bit 8 set).
  *
  *              Long options are described in a table.  Each entry in the
  *              table is of type @struct option@, and the table is terminated
@@ -351,9 +363,9 @@ enum {
  *              table entry.  If @flag@ is nonzero, it points to an integer
  *              to be modified by mdwopt.  Usually the value in the @val@
  *              field is simply stored in the @flag@ variable. If the flag
- *              @gFlag_switch@ is set, however, the value is combined with
+ *              @OPTF_SWITCH@ is set, however, the value is combined with
  *              the existing value of the flags using a bitwise OR.  If
- *              @gFlag_negate@ is set, then the flag bit will be cleared if a
+ *              @OPTF_NEGATE@ is set, then the flag bit will be cleared if a
  *              matching negated long option is found.  The value 0 is
  *              returned.
  *
@@ -366,11 +378,12 @@ enum {
  *              Numeric options, if enabled, cause the value `%|#|%' to be
  *              returned, and the numeric value to be stored in @data->opt@.
  *
- *              If the flag @gFlag_envVar@ is set on entry, options will be
+ *              If the flag @OPTF_ENVVAR@ is set on entry, options will be
  *              extracted from an environment variable whose name is built by
- *              capitalising all the letters of the program's name.  (This
+ *              capitalizing all the letters of the program's name.  (This
  *              allows a user to have different default settings for a
- *              program, by calling it through different symbolic links.)  */
+ *              program, by calling it through different symbolic links.)
+ */
 
 extern int mdwopt(int /*argc*/, char *const */*argv*/,
                  const char */*shortopt*/,
@@ -379,10 +392,10 @@ extern int mdwopt(int /*argc*/, char *const */*argv*/,
 
 /* --- Macros for more commonly used routines --- */
 
-#define getopt(c, v, o) mdwopt(c, v, o, 0, 0, 0, gFlag_noLongs)
+#define getopt(c, v, o) mdwopt(c, v, o, 0, 0, 0, OPTF_NOLONGS)
 #define getopt_long(c, v, o, l, li) mdwopt(c, v, o, l, li, 0, 0)
 #define getopt_long_only(c, v, o, l, li)                               \
-  mdwopt(c, v, o, l, li, 0, gFlag_noShorts)
+  mdwopt(c, v, o, l, li, 0, OPTF_NOSHORTS)
 
 #ifdef __cplusplus
 }