diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-22 17:54:24 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-22 17:54:24 +0000 |
commit | 8e7e152dca775ad259f5952da753603cc872f7d9 (patch) | |
tree | 5fde3029e668c87aa8dafa2317e9b965083abea5 | |
parent | 0a568dac4cfdb231d027d380c6ad927cc6e0175d (diff) | |
download | mandoc-8e7e152dca775ad259f5952da753603cc872f7d9.tar.gz |
Added ability to set OS name at compile-time with -DOSNAME="\"foo\"".
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | mdoc_action.c | 13 |
2 files changed, 15 insertions, 1 deletions
@@ -12,9 +12,10 @@ INSTALL_MAN = $(INSTALL_DATA) VERSION = 1.9.9 VDATE = 21 October 2009 -VFLAGS = -DVERSION=\"$(VERSION)\" +VFLAGS = -DVERSION="\"$(VERSION)\"" CFLAGS += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -g CFLAGS += $(VFLAGS) +#CFLAGS += -DOSNAME="\"OpenBSD 4.5\"" LINTFLAGS += $(VFLAGS) MANDOCFLAGS = -Wall -fstrict diff --git a/mdoc_action.c b/mdoc_action.c index 4acb1d29..b9d11289 100644 --- a/mdoc_action.c +++ b/mdoc_action.c @@ -520,7 +520,15 @@ static int post_os(POST_ARGS) { char buf[64]; +#ifndef OSNAME struct utsname utsname; +#endif + + /* + * Setting OSNAME to be the name of the target operating system, + * e.g., "OpenBSD 4.4", will result in the compile-time constant + * by supplied instead of the value in uname(). + */ if (m->meta.os) free(m->meta.os); @@ -530,6 +538,10 @@ post_os(POST_ARGS) return(0); if (0 == buf[0]) { +#ifdef OSNAME + if (strlcat(buf, OSNAME, 64) >= 64) + return(mdoc_nerr(m, n, EUTSNAME)); +#else if (-1 == uname(&utsname)) return(mdoc_nerr(m, n, EUTSNAME)); if (strlcat(buf, utsname.sysname, 64) >= 64) @@ -538,6 +550,7 @@ post_os(POST_ARGS) return(mdoc_nerr(m, n, ETOOLONG)); if (strlcat(buf, utsname.release, 64) >= 64) return(mdoc_nerr(m, n, ETOOLONG)); +#endif } if (NULL == (m->meta.os = strdup(buf))) |