version 1.336, 2017/06/11 17:16:51 |
version 1.339, 2017/06/17 22:43:14 |
Line 1790 post_root(POST_ARGS) |
|
Line 1790 post_root(POST_ARGS) |
|
/* Add missing prologue data. */ |
/* Add missing prologue data. */ |
|
|
if (mdoc->meta.date == NULL) |
if (mdoc->meta.date == NULL) |
mdoc->meta.date = mdoc->quick ? |
mdoc->meta.date = mdoc->quick ? mandoc_strdup("") : |
mandoc_strdup("") : |
mandoc_normdate(mdoc, NULL, 0, 0); |
mandoc_normdate(mdoc->parse, NULL, 0, 0); |
|
|
|
if (mdoc->meta.title == NULL) { |
if (mdoc->meta.title == NULL) { |
mandoc_msg(MANDOCERR_DT_NOTITLE, |
mandoc_msg(MANDOCERR_DT_NOTITLE, |
Line 1807 post_root(POST_ARGS) |
|
Line 1806 post_root(POST_ARGS) |
|
mandoc_msg(MANDOCERR_OS_MISSING, |
mandoc_msg(MANDOCERR_OS_MISSING, |
mdoc->parse, 0, 0, NULL); |
mdoc->parse, 0, 0, NULL); |
mdoc->meta.os = mandoc_strdup(""); |
mdoc->meta.os = mandoc_strdup(""); |
} |
} else if (mdoc->meta.os_e && |
|
(mdoc->meta.rcsids & (1 << mdoc->meta.os_e)) == 0) |
|
mandoc_msg(MANDOCERR_RCS_MISSING, |
|
mdoc->parse, 0, 0, NULL); |
|
|
/* Check that we begin with a proper `Sh'. */ |
/* Check that we begin with a proper `Sh'. */ |
|
|
Line 2348 post_dd(POST_ARGS) |
|
Line 2350 post_dd(POST_ARGS) |
|
|
|
if (n->child == NULL || n->child->string[0] == '\0') { |
if (n->child == NULL || n->child->string[0] == '\0') { |
mdoc->meta.date = mdoc->quick ? mandoc_strdup("") : |
mdoc->meta.date = mdoc->quick ? mandoc_strdup("") : |
mandoc_normdate(mdoc->parse, NULL, n->line, n->pos); |
mandoc_normdate(mdoc, NULL, n->line, n->pos); |
return; |
return; |
} |
} |
|
|
Line 2357 post_dd(POST_ARGS) |
|
Line 2359 post_dd(POST_ARGS) |
|
if (mdoc->quick) |
if (mdoc->quick) |
mdoc->meta.date = datestr; |
mdoc->meta.date = datestr; |
else { |
else { |
mdoc->meta.date = mandoc_normdate(mdoc->parse, |
mdoc->meta.date = mandoc_normdate(mdoc, |
datestr, n->line, n->pos); |
datestr, n->line, n->pos); |
free(datestr); |
free(datestr); |
} |
} |
Line 2569 post_os(POST_ARGS) |
|
Line 2571 post_os(POST_ARGS) |
|
out: mdoc->meta.os_e = strstr(mdoc->meta.os, "OpenBSD") != NULL ? |
out: mdoc->meta.os_e = strstr(mdoc->meta.os, "OpenBSD") != NULL ? |
MDOC_OS_OPENBSD : strstr(mdoc->meta.os, "NetBSD") != NULL ? |
MDOC_OS_OPENBSD : strstr(mdoc->meta.os, "NetBSD") != NULL ? |
MDOC_OS_NETBSD : MDOC_OS_OTHER; |
MDOC_OS_NETBSD : MDOC_OS_OTHER; |
|
|
|
/* |
|
* This is the earliest point where we can check |
|
* Mdocdate conventions because we don't know |
|
* the operating system earlier. |
|
*/ |
|
|
|
while (n->tok != MDOC_Dd) |
|
if ((n = n->prev) == NULL) |
|
return; |
|
if ((n = n->child) == NULL) |
|
return; |
|
if (strncmp(n->string, "$" "Mdocdate", 9)) { |
|
if (mdoc->meta.os_e == MDOC_OS_OPENBSD) |
|
mandoc_vmsg(MANDOCERR_MDOCDATE_MISSING, |
|
mdoc->parse, n->line, n->pos, |
|
"Dd %s", n->string); |
|
} else { |
|
if (mdoc->meta.os_e == MDOC_OS_NETBSD) |
|
mandoc_vmsg(MANDOCERR_MDOCDATE, |
|
mdoc->parse, n->line, n->pos, |
|
"Dd %s", n->string); |
|
} |
} |
} |
|
|
enum roff_sec |
enum roff_sec |