version 1.57, 2010/05/14 16:02:29 |
version 1.58, 2010/05/15 16:24:38 |
Line 446 post_sh(POST_ARGS) |
|
Line 446 post_sh(POST_ARGS) |
|
case (SEC_RETURN_VALUES): |
case (SEC_RETURN_VALUES): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (SEC_ERRORS): |
case (SEC_ERRORS): |
switch (m->meta.msec) { |
assert(m->meta.msec); |
case (2): |
if (*m->meta.msec == '2') |
/* FALLTHROUGH */ |
|
case (3): |
|
/* FALLTHROUGH */ |
|
case (9): |
|
break; |
break; |
default: |
if (*m->meta.msec == '3') |
return(mdoc_nwarn(m, n, EBADSEC)); |
break; |
} |
if (*m->meta.msec == '9') |
break; |
break; |
|
return(mdoc_nwarn(m, n, EWRONGMSEC)); |
default: |
default: |
break; |
break; |
} |
} |
Line 473 post_dt(POST_ARGS) |
|
Line 470 post_dt(POST_ARGS) |
|
{ |
{ |
struct mdoc_node *nn; |
struct mdoc_node *nn; |
const char *cp; |
const char *cp; |
char *ep; |
|
long lval; |
|
|
|
if (m->meta.title) |
if (m->meta.title) |
free(m->meta.title); |
free(m->meta.title); |
Line 484 post_dt(POST_ARGS) |
|
Line 479 post_dt(POST_ARGS) |
|
free(m->meta.arch); |
free(m->meta.arch); |
|
|
m->meta.title = m->meta.vol = m->meta.arch = NULL; |
m->meta.title = m->meta.vol = m->meta.arch = NULL; |
m->meta.msec = 0; |
|
|
|
/* Handles: `.Dt' |
/* Handles: `.Dt' |
* --> title = unknown, volume = local, msec = 0, arch = NULL |
* --> title = unknown, volume = local, msec = 0, arch = NULL |
*/ |
*/ |
|
|
if (NULL == (nn = n->child)) { |
if (NULL == (nn = n->child)) { |
/* XXX: make these macro values. */ |
/* XXX: make these macro values. */ |
|
/* FIXME: warn about missing values. */ |
m->meta.title = mandoc_strdup("unknown"); |
m->meta.title = mandoc_strdup("unknown"); |
m->meta.vol = mandoc_strdup("local"); |
m->meta.vol = mandoc_strdup("local"); |
|
m->meta.msec = mandoc_strdup("1"); |
return(post_prol(m, n)); |
return(post_prol(m, n)); |
} |
} |
|
|
Line 504 post_dt(POST_ARGS) |
|
Line 499 post_dt(POST_ARGS) |
|
m->meta.title = mandoc_strdup(nn->string); |
m->meta.title = mandoc_strdup(nn->string); |
|
|
if (NULL == (nn = nn->next)) { |
if (NULL == (nn = nn->next)) { |
|
/* FIXME: warn about missing msec. */ |
/* XXX: make this a macro value. */ |
/* XXX: make this a macro value. */ |
m->meta.vol = mandoc_strdup("local"); |
m->meta.vol = mandoc_strdup("local"); |
|
m->meta.msec = mandoc_strdup("1"); |
return(post_prol(m, n)); |
return(post_prol(m, n)); |
} |
} |
|
|
Line 518 post_dt(POST_ARGS) |
|
Line 515 post_dt(POST_ARGS) |
|
|
|
cp = mdoc_a2msec(nn->string); |
cp = mdoc_a2msec(nn->string); |
if (cp) { |
if (cp) { |
/* FIXME: where is strtonum!? */ |
|
m->meta.vol = mandoc_strdup(cp); |
m->meta.vol = mandoc_strdup(cp); |
lval = strtol(nn->string, &ep, 10); |
m->meta.msec = mandoc_strdup(nn->string); |
if (nn->string[0] != '\0' && *ep == '\0') |
} else if (mdoc_nwarn(m, n, EBADMSEC)) { |
m->meta.msec = (int)lval; |
|
} else |
|
m->meta.vol = mandoc_strdup(nn->string); |
m->meta.vol = mandoc_strdup(nn->string); |
|
m->meta.msec = mandoc_strdup(nn->string); |
|
} else |
|
return(0); |
|
|
if (NULL == (nn = nn->next)) |
if (NULL == (nn = nn->next)) |
return(post_prol(m, n)); |
return(post_prol(m, n)); |
Line 541 post_dt(POST_ARGS) |
|
Line 538 post_dt(POST_ARGS) |
|
free(m->meta.vol); |
free(m->meta.vol); |
m->meta.vol = mandoc_strdup(cp); |
m->meta.vol = mandoc_strdup(cp); |
} else { |
} else { |
|
/* FIXME: warn about bad arch. */ |
cp = mdoc_a2arch(nn->string); |
cp = mdoc_a2arch(nn->string); |
if (NULL == cp) { |
if (NULL == cp) { |
free(m->meta.vol); |
free(m->meta.vol); |