| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | 
							
- /*  $Id: version.c,v 4.12 2007/07/04 21:36:39 bkorb Exp $
 
-  * Time-stamp:      "2007-07-04 13:42:04 bkorb"
 
-  *
 
-  *  This module implements the default usage procedure for
 
-  *  Automated Options.  It may be overridden, of course.
 
-  */
 
- static char const zAOV[] =
 
-     "Automated Options version %s\n"
 
-     "\tcopyright (c) 1999-2007 Bruce Korb - all rights reserved\n";
 
- /*
 
-  *  This file is part of AutoOpts, a companion to AutoGen.
 
-  *  AutoOpts is free software.
 
-  *  AutoOpts is copyright (c) 1992-2007 by Bruce Korb - all rights reserved
 
-  *
 
-  *  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 GNU Lesser General Public License, version 3 or later
 
-  *      See the files "COPYING.lgplv3" and "COPYING.gplv3"
 
-  *
 
-  *   The Modified Berkeley Software Distribution License
 
-  *      See the file "COPYING.mbsd"
 
-  *
 
-  *  These files have the following md5sums:
 
-  *
 
-  *  239588c55c22c60ffe159946a760a33e pkg/libopts/COPYING.gplv3
 
-  *  fa82ca978890795162346e661b47161a pkg/libopts/COPYING.lgplv3
 
-  *  66a5cedaf62c4b2637025f049f9b826f pkg/libopts/COPYING.mbsd
 
-  */
 
- /* = = = START-STATIC-FORWARD = = = */
 
- /* static forward declarations maintained by :mkfwd */
 
- static void
 
- printVersion( tOptions* pOpts, tOptDesc* pOD, FILE* fp );
 
- /* = = = END-STATIC-FORWARD = = = */
 
- /*=export_func  optionVersion
 
-  *
 
-  * what:     return the compiled AutoOpts version number
 
-  * ret_type: char const*
 
-  * ret_desc: the version string in constant memory
 
-  * doc:
 
-  *  Returns the full version string compiled into the library.
 
-  *  The returned string cannot be modified.
 
- =*/
 
- char const*
 
- optionVersion( void )
 
- {
 
-     static char const zVersion[] =
 
-         STR( AO_CURRENT.AO_REVISION );
 
-     return zVersion;
 
- }
 
- static void
 
- printVersion( tOptions* pOpts, tOptDesc* pOD, FILE* fp )
 
- {
 
-     char swCh;
 
-     /*
 
-      *  IF the optional argument flag is off, or the argument is not provided,
 
-      *  then just print the version.
 
-      */
 
-     if (  ((pOD->fOptState & OPTST_ARG_OPTIONAL) == 0)
 
-        || (pOD->optArg.argString == NULL))
 
-          swCh = 'v';
 
-     else swCh = tolower(pOD->optArg.argString[0]);
 
-     if (pOpts->pzFullVersion != NULL) {
 
-         fputs( pOpts->pzFullVersion, fp );
 
-         fputc( '\n', fp );
 
-     } else {
 
-         char const *pz = pOpts->pzUsageTitle;
 
-         do { fputc(*pz, fp); } while (*(pz++) != '\n');
 
-     }
 
-     switch (swCh) {
 
-     case NUL: /* arg provided, but empty */
 
-     case 'v':
 
-         break;
 
-     case 'c':
 
-         if (pOpts->pzCopyright != NULL) {
 
-             fputs( pOpts->pzCopyright, fp );
 
-             fputc( '\n', fp );
 
-         }
 
-         fprintf( fp, zAOV, optionVersion() );
 
-         if (pOpts->pzBugAddr != NULL)
 
-             fprintf( fp, zPlsSendBugs, pOpts->pzBugAddr );
 
-         break;
 
-     case 'n':
 
-         if (pOpts->pzCopyright != NULL) {
 
-             fputs( pOpts->pzCopyright, fp );
 
-             fputc( '\n', fp );
 
-             fputc( '\n', fp );
 
-         }
 
-         if (pOpts->pzCopyNotice != NULL) {
 
-             fputs( pOpts->pzCopyNotice, fp );
 
-             fputc( '\n', fp );
 
-         }
 
-         fprintf( fp, zAOV, optionVersion() );
 
-         if (pOpts->pzBugAddr != NULL)
 
-             fprintf( fp, zPlsSendBugs, pOpts->pzBugAddr );
 
-         break;
 
-     default:
 
-         fprintf( stderr, zBadVerArg, swCh );
 
-         exit( EXIT_FAILURE );
 
-     }
 
-     exit( EXIT_SUCCESS );
 
- }
 
- /*=export_func  optionPrintVersion
 
-  * private:
 
-  *
 
-  * what:  Print the program version
 
-  * arg:   + tOptions* + pOpts    + program options descriptor +
 
-  * arg:   + tOptDesc* + pOptDesc + the descriptor for this arg +
 
-  *
 
-  * doc:
 
-  *  This routine will print the version to stdout.
 
- =*/
 
- void
 
- optionPrintVersion( tOptions*  pOpts, tOptDesc*  pOD )
 
- {
 
-     printVersion( pOpts, pOD, stdout );
 
- }
 
- /*=export_func  optionVersionStderr
 
-  * private:
 
-  *
 
-  * what:  Print the program version to stderr
 
-  * arg:   + tOptions* + pOpts    + program options descriptor +
 
-  * arg:   + tOptDesc* + pOptDesc + the descriptor for this arg +
 
-  *
 
-  * doc:
 
-  *  This routine will print the version to stderr.
 
- =*/
 
- void
 
- optionVersionStderr( tOptions*  pOpts, tOptDesc*  pOD )
 
- {
 
-     printVersion( pOpts, pOD, stderr );
 
- }
 
- /*
 
-  * Local Variables:
 
-  * mode: C
 
-  * c-file-style: "stroustrup"
 
-  * indent-tabs-mode: nil
 
-  * End:
 
-  * end of autoopts/version.c */
 
 
  |