1 /*
2 * ntp_libopts.c
3 *
4 * Common code interfacing with Autogen's libopts command-line option
5 * processing.
6 */
7 #ifdef HAVE_CONFIG_H
8 # include <config.h>
9 #endif
10
11 #include <stdio.h>
12 #include <stddef.h>
13 #include "ntp_libopts.h"
14 #include "ntp_stdlib.h"
15
16 extern const char *Version; /* version.c for each program */
17
18
19 /*
20 * ntpOptionProcess() was a clone of libopts' optionProcess which
21 * overrode the --version output, appending detail from version.c
22 * which was not available at Autogen time. This is now done via
23 * AutoOpts' version-proc = override in copyright.def, so this
24 * routine is a straightforward wrapper of optionProcess().
25 */
26 int
ntpOptionProcess(tOptions * pOpts,int argc,char ** argv)27 ntpOptionProcess(
28 tOptions * pOpts,
29 int argc,
30 char ** argv
31 )
32 {
33 return optionProcess(pOpts, argc, argv);
34 }
35
36
37 /*
38 * ntpOptionPrintVersion() replaces the stock optionPrintVersion() via
39 * version-proc = ntpOptionPrintVersion; in copyright.def. It differs
40 * from the stock function by displaying the complete version string,
41 * including compile time which was unknown when Autogen ran.
42 *
43 * Like optionPrintVersion() this function must exit(0) rather than
44 * return.
45 */
46 void
ntpOptionPrintVersion(tOptions * pOpts,tOptDesc * pOD)47 ntpOptionPrintVersion(
48 tOptions * pOpts,
49 tOptDesc * pOD
50 )
51 {
52 UNUSED_ARG(pOpts);
53 UNUSED_ARG(pOD);
54
55 printf("%s\n", Version);
56 fflush(stdout);
57 exit(EXIT_SUCCESS);
58 }
59