optlist.h
Currently, options.c is the only file that #includes "optlist.h". In theory, if a source file did want to include optlist.h (perhaps for the struct allopt_t declaration so they could deal with a pointer to such a struct), they wouldn't be able to include it because of a static function prototype that it contains. Add some protection to only include that static function prototype when optlist.h is included from options.c.
This commit is contained in:
@@ -4,6 +4,10 @@
|
|||||||
#ifndef OPTLIST_H
|
#ifndef OPTLIST_H
|
||||||
#define OPTLIST_H
|
#define OPTLIST_H
|
||||||
|
|
||||||
|
#ifdef OPTIONS_C
|
||||||
|
static int optfn_boolean(int, int, boolean, char *, char *);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE: If you add (or delete) an option, please review:
|
* NOTE: If you add (or delete) an option, please review:
|
||||||
* doc/options.txt
|
* doc/options.txt
|
||||||
@@ -12,7 +16,6 @@
|
|||||||
* updates that should accompany your change.
|
* updates that should accompany your change.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int optfn_boolean(int, int, boolean, char *, char *);
|
|
||||||
enum OptType { BoolOpt, CompOpt, OthrOpt };
|
enum OptType { BoolOpt, CompOpt, OthrOpt };
|
||||||
enum Y_N { No, Yes };
|
enum Y_N { No, Yes };
|
||||||
enum Off_On { Off, On };
|
enum Off_On { Off, On };
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ NEARDATA struct instance_flags iflags; /* provide linkage */
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define OPTIONS_C
|
||||||
|
|
||||||
#define NHOPT_PROTO
|
#define NHOPT_PROTO
|
||||||
#include "optlist.h"
|
#include "optlist.h"
|
||||||
#undef NHOPT_PROTO
|
#undef NHOPT_PROTO
|
||||||
@@ -72,6 +74,7 @@ static struct allopt_t allopt_init[] = {
|
|||||||
};
|
};
|
||||||
#undef NHOPT_PARSE
|
#undef NHOPT_PARSE
|
||||||
|
|
||||||
|
#undef OPTIONS_C
|
||||||
|
|
||||||
#define PILE_LIMIT_DFLT 5
|
#define PILE_LIMIT_DFLT 5
|
||||||
#define rolestring(val, array, field) \
|
#define rolestring(val, array, field) \
|
||||||
|
|||||||
Reference in New Issue
Block a user