version 1.56, 2010/03/22 05:59:32 |
version 1.57, 2010/03/23 11:30:48 |
Line 139 static const struct termact termacts[MAN_MAX] = { |
|
Line 139 static const struct termact termacts[MAN_MAX] = { |
|
{ pre_ign, NULL, 0 }, /* DT */ |
{ pre_ign, NULL, 0 }, /* DT */ |
{ pre_ign, NULL, 0 }, /* UC */ |
{ pre_ign, NULL, 0 }, /* UC */ |
{ pre_ign, NULL, 0 }, /* PD */ |
{ pre_ign, NULL, 0 }, /* PD */ |
|
{ pre_sp, NULL, MAN_NOTEXT }, /* Sp */ |
|
{ pre_nf, NULL, 0 }, /* Vb */ |
|
{ pre_fi, NULL, 0 }, /* Ve */ |
}; |
}; |
|
|
|
|
Line 156 terminal_man(void *arg, const struct man *man) |
|
Line 159 terminal_man(void *arg, const struct man *man) |
|
if (NULL == p->symtab) |
if (NULL == p->symtab) |
switch (p->enc) { |
switch (p->enc) { |
case (TERMENC_ASCII): |
case (TERMENC_ASCII): |
|
p->maxrmargin = 65; |
p->symtab = chars_init(CHARS_ASCII); |
p->symtab = chars_init(CHARS_ASCII); |
break; |
break; |
default: |
default: |
|
|
pre_fi(DECL_ARGS) |
pre_fi(DECL_ARGS) |
{ |
{ |
|
|
|
p->rmargin = p->maxrmargin = 65; |
mt->fl &= ~MANT_LITERAL; |
mt->fl &= ~MANT_LITERAL; |
return(1); |
return(1); |
} |
} |
|
|
pre_nf(DECL_ARGS) |
pre_nf(DECL_ARGS) |
{ |
{ |
|
|
|
p->rmargin = p->maxrmargin = 78; |
term_newln(p); |
term_newln(p); |
mt->fl |= MANT_LITERAL; |
mt->fl |= MANT_LITERAL; |
return(1); |
|
|
return(MAN_Vb != n->tok); |
} |
} |
|
|
|
|
|
|
print_man_head(struct termp *p, const struct man_meta *m) |
print_man_head(struct termp *p, const struct man_meta *m) |
{ |
{ |
char buf[BUFSIZ], title[BUFSIZ]; |
char buf[BUFSIZ], title[BUFSIZ]; |
|
size_t buflen, titlen; |
|
|
p->rmargin = p->maxrmargin; |
p->rmargin = p->maxrmargin; |
p->offset = 0; |
p->offset = 0; |
Line 880 print_man_head(struct termp *p, const struct man_meta |
|
Line 888 print_man_head(struct termp *p, const struct man_meta |
|
|
|
if (m->vol) |
if (m->vol) |
strlcpy(buf, m->vol, BUFSIZ); |
strlcpy(buf, m->vol, BUFSIZ); |
|
buflen = strlen(buf); |
|
|
snprintf(title, BUFSIZ, "%s(%d)", m->title, m->msec); |
snprintf(title, BUFSIZ, "%s(%d)", m->title, m->msec); |
|
titlen = strlen(title); |
|
|
p->offset = 0; |
p->offset = 0; |
p->rmargin = (p->maxrmargin - strlen(buf) + 1) / 2; |
p->rmargin = 2 * (titlen+1) + buflen < p->maxrmargin ? |
|
(p->maxrmargin - strlen(buf) + 1) / 2 : |
|
p->maxrmargin - buflen; |
p->flags |= TERMP_NOBREAK | TERMP_NOSPACE; |
p->flags |= TERMP_NOBREAK | TERMP_NOSPACE; |
|
|
term_word(p, title); |
term_word(p, title); |
Line 892 print_man_head(struct termp *p, const struct man_meta |
|
Line 904 print_man_head(struct termp *p, const struct man_meta |
|
|
|
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
p->offset = p->rmargin; |
p->offset = p->rmargin; |
p->rmargin = p->maxrmargin - strlen(title); |
p->rmargin = p->offset + buflen + titlen < p->maxrmargin ? |
|
p->maxrmargin - titlen : p->maxrmargin; |
|
|
term_word(p, buf); |
term_word(p, buf); |
term_flushln(p); |
term_flushln(p); |
|
|
p->offset = p->rmargin; |
|
p->rmargin = p->maxrmargin; |
|
p->flags &= ~TERMP_NOBREAK; |
p->flags &= ~TERMP_NOBREAK; |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
if (p->rmargin + titlen <= p->maxrmargin) { |
|
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
term_word(p, title); |
p->offset = p->rmargin; |
term_flushln(p); |
p->rmargin = p->maxrmargin; |
|
term_word(p, title); |
|
term_flushln(p); |
|
} |
|
|
p->rmargin = p->maxrmargin; |
p->rmargin = p->maxrmargin; |
p->offset = 0; |
p->offset = 0; |