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