summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/sntp/libopts/boolean.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/sntp/libopts/boolean.c')
-rw-r--r--contrib/ntp/sntp/libopts/boolean.c101
1 files changed, 45 insertions, 56 deletions
diff --git a/contrib/ntp/sntp/libopts/boolean.c b/contrib/ntp/sntp/libopts/boolean.c
index 37148a9..2bea8e7 100644
--- a/contrib/ntp/sntp/libopts/boolean.c
+++ b/contrib/ntp/sntp/libopts/boolean.c
@@ -1,63 +1,43 @@
-/*
- * $Id: boolean.c,v 4.10 2007/02/04 17:44:12 bkorb Exp $
- * Time-stamp: "2007-01-13 10:10:39 bkorb"
+/**
+ * \file boolean.c
*
- * Automated Options Paged Usage module.
+ * Handle options with true/false values for arguments.
*
- * This routine will run run-on options through a pager so the
- * user may examine, print or edit them at their leisure.
+ * @addtogroup autoopts
+ * @{
*/
-
/*
- * Automated Options copyright 1992-2007 Bruce Korb
- *
- * Automated Options is free software.
- * You may redistribute it and/or modify it under the terms of the
- * GNU General Public License, as published by the Free Software
- * Foundation; either version 2, or (at your option) any later version.
- *
- * Automated Options 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.
+ * This routine will run run-on options through a pager so the
+ * user may examine, print or edit them at their leisure.
*
- * You should have received a copy of the GNU General Public License
- * along with Automated Options. See the file "COPYING". If not,
- * write to: The Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
+ * This file is part of AutoOpts, a companion to AutoGen.
+ * AutoOpts is free software.
+ * AutoOpts is Copyright (C) 1992-2015 by Bruce Korb - all rights reserved
*
- * As a special exception, Bruce Korb gives permission for additional
- * uses of the text contained in his release of AutoOpts.
+ * AutoOpts is available under any one of two licenses. The license
+ * in use must be one of these two and the choice is under the control
+ * of the user of the license.
*
- * The exception is that, if you link the AutoOpts library with other
- * files to produce an executable, this does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * Your use of that executable is in no way restricted on account of
- * linking the AutoOpts library code into it.
+ * The GNU Lesser General Public License, version 3 or later
+ * See the files "COPYING.lgplv3" and "COPYING.gplv3"
*
- * This exception does not however invalidate any other reasons why
- * the executable file might be covered by the GNU General Public License.
+ * The Modified Berkeley Software Distribution License
+ * See the file "COPYING.mbsd"
*
- * This exception applies only to the code released by Bruce Korb under
- * the name AutoOpts. If you copy code from other sources under the
- * General Public License into a copy of AutoOpts, as the General Public
- * License permits, the exception does not apply to the code that you add
- * in this way. To avoid misleading anyone as to the status of such
- * modified files, you must delete this exception notice from them.
+ * These files have the following sha256 sums:
*
- * If you write modifications of your own for AutoOpts, it is your choice
- * whether to permit this exception to apply to your modifications.
- * If you do not wish that, delete this exception notice.
+ * 8584710e9b04216a394078dc156b781d0b47e1729104d666658aecef8ee32e95 COPYING.gplv3
+ * 4379e7444a0e2ce2b12dd6f5a52a27a4d02d39d247901d3285c88cf0d37f477b COPYING.lgplv3
+ * 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.mbsd
*/
/*=export_func optionBooleanVal
* private:
*
* what: Decipher a boolean value
- * arg: + tOptions* + pOpts + program options descriptor +
- * arg: + tOptDesc* + pOptDesc + the descriptor for this arg +
+ * arg: + tOptions * + opts + program options descriptor +
+ * arg: + tOptDesc * + od + the descriptor for this arg +
*
* doc:
* Decipher a true or false value for a boolean valued option argument.
@@ -65,15 +45,23 @@
* it is an empty string or it is a number that evaluates to zero.
=*/
void
-optionBooleanVal( tOptions* pOpts, tOptDesc* pOD )
+optionBooleanVal(tOptions * opts, tOptDesc * od)
{
- char* pz;
- ag_bool res = AG_TRUE;
+ char * pz;
+ bool res = true;
+
+ if (INQUERY_CALL(opts, od))
+ return;
+
+ if (od->optArg.argString == NULL) {
+ od->optArg.argBool = false;
+ return;
+ }
- switch (*(pOD->optArg.argString)) {
+ switch (*(od->optArg.argString)) {
case '0':
{
- long val = strtol( pOD->optArg.argString, &pz, 0 );
+ long val = strtol(od->optArg.argString, &pz, 0);
if ((val != 0) || (*pz != NUL))
break;
/* FALLTHROUGH */
@@ -83,21 +71,22 @@ optionBooleanVal( tOptions* pOpts, tOptDesc* pOD )
case 'F':
case 'f':
case NUL:
- res = AG_FALSE;
+ res = false;
break;
case '#':
- if (pOD->optArg.argString[1] != 'f')
+ if (od->optArg.argString[1] != 'f')
break;
- res = AG_FALSE;
+ res = false;
}
- if (pOD->fOptState & OPTST_ALLOC_ARG) {
- AGFREE(pOD->optArg.argString);
- pOD->fOptState &= ~OPTST_ALLOC_ARG;
+ if (od->fOptState & OPTST_ALLOC_ARG) {
+ AGFREE(od->optArg.argString);
+ od->fOptState &= ~OPTST_ALLOC_ARG;
}
- pOD->optArg.argBool = res;
+ od->optArg.argBool = res;
}
-/*
+/** @}
+ *
* Local Variables:
* mode: C
* c-file-style: "stroustrup"
OpenPOWER on IntegriCloud