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