diff options
author | ed <ed@FreeBSD.org> | 2013-04-09 16:16:34 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2013-04-09 16:16:34 +0000 |
commit | e6908177eccfacb8285f916beec706f652d4ac1f (patch) | |
tree | 984c9ec0b986d4b7ad1f72e3a3107d82c5a5281c | |
parent | d0006df0dfbf0b45236fce9ccbae1815bae56ac4 (diff) | |
download | FreeBSD-src-e6908177eccfacb8285f916beec706f652d4ac1f.zip FreeBSD-src-e6908177eccfacb8285f916beec706f652d4ac1f.tar.gz |
Add static/const keywords to the arrays.
This theoretically allows a compiler to optimize (parts of) the array
away if unused.
While there, make the array size implicit and use a _Static_assert() to
ensure that the definition matches up with the number of elements in the
list.
-rw-r--r-- | include/protocols/timed.h | 4 | ||||
-rw-r--r-- | sys/sys/syslog.h | 4 | ||||
-rw-r--r-- | sys/sys/ttydefaults.h | 17 |
3 files changed, 17 insertions, 8 deletions
diff --git a/include/protocols/timed.h b/include/protocols/timed.h index 18747be..d26b4a2 100644 --- a/include/protocols/timed.h +++ b/include/protocols/timed.h @@ -90,11 +90,13 @@ struct tsp { #define TSPTYPENUMBER 25 #ifdef TSPTYPES -const char *tsptype[TSPTYPENUMBER] = +static char const * const tsptype[] = { "ANY", "ADJTIME", "ACK", "MASTERREQ", "MASTERACK", "SETTIME", "MASTERUP", "SLAVEUP", "ELECTION", "ACCEPT", "REFUSE", "CONFLICT", "RESOLVE", "QUIT", "DATE", "DATEREQ", "DATEACK", "TRACEON", "TRACEOFF", "MSITE", "MSITEREQ", "TEST", "SETDATE", "SETDATEREQ", "LOOP" }; +_Static_assert(sizeof(tsptype) / sizeof(const char *) == TSPTYPENUMBER, + "Size of tsptype does not match TSPTYPENUMBER"); #endif #endif /* !_TIMED_H_ */ diff --git a/sys/sys/syslog.h b/sys/sys/syslog.h index 6f12831..61bad21 100644 --- a/sys/sys/syslog.h +++ b/sys/sys/syslog.h @@ -69,7 +69,7 @@ typedef struct _code { int c_val; } CODE; -CODE prioritynames[] = { +static const CODE prioritynames[] = { { "alert", LOG_ALERT, }, { "crit", LOG_CRIT, }, { "debug", LOG_DEBUG, }, @@ -122,7 +122,7 @@ CODE prioritynames[] = { #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) #ifdef SYSLOG_NAMES -CODE facilitynames[] = { +static const CODE facilitynames[] = { { "auth", LOG_AUTH, }, { "authpriv", LOG_AUTHPRIV, }, { "console", LOG_CONSOLE, }, diff --git a/sys/sys/ttydefaults.h b/sys/sys/ttydefaults.h index 409ebc7..82929f9 100644 --- a/sys/sys/ttydefaults.h +++ b/sys/sys/ttydefaults.h @@ -95,10 +95,17 @@ * #define TTYDEFCHARS to include an array of default control characters. */ #ifdef TTYDEFCHARS -static cc_t ttydefchars[NCCS] = { - CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, - CERASE2, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, - CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE + +#include <sys/cdefs.h> +#include <sys/_termios.h> + +static const cc_t ttydefchars[] = { + CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, CERASE2, CINTR, + CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, CDISCARD, CMIN, CTIME, + CSTATUS, _POSIX_VDISABLE }; +_Static_assert(sizeof(ttydefchars) / sizeof(cc_t) == NCCS, + "Size of ttydefchars does not match NCCS"); + #undef TTYDEFCHARS -#endif +#endif /* TTYDEFCHARS */ |