|
|
1.1 ! root 1: /* bool.c ! 2: Parse a boolean string into a variable. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP uuconf library. ! 7: ! 8: This library is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU Library General Public License ! 10: as published by the Free Software Foundation; either version 2 of ! 11: the License, or (at your option) any later version. ! 12: ! 13: This library is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: Library General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU Library General Public ! 19: License along with this library; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucnfi.h" ! 27: ! 28: #if USE_RCS_ID ! 29: const char _uuconf_bool_rcsid[] = "$Id: bool.c,v 1.1 93/07/30 08:07:01 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Parse a boolean string into a variable. This is called by ! 33: uuconf_cmd_args, as well as other functions. The parsing is done ! 34: in a single place to make it easy to change. This should return an ! 35: error code, including both UUCONF_CMDTABRET_KEEP and ! 36: UUCONF_CMDTABRET_EXIT if appropriate. */ ! 37: ! 38: /*ARGSIGNORED*/ ! 39: int ! 40: _uuconf_iboolean (qglobal, zval, pi) ! 41: struct sglobal *qglobal; ! 42: const char *zval; ! 43: boolean *pi; ! 44: { ! 45: switch (*zval) ! 46: { ! 47: case 'y': ! 48: case 'Y': ! 49: case 't': ! 50: case 'T': ! 51: *pi = TRUE; ! 52: break; ! 53: case 'n': ! 54: case 'N': ! 55: case 'f': ! 56: case 'F': ! 57: *pi = FALSE; ! 58: break; ! 59: default: ! 60: return UUCONF_SYNTAX_ERROR | UUCONF_CMDTABRET_EXIT; ! 61: } ! 62: ! 63: return UUCONF_CMDTABRET_CONTINUE; ! 64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.