diff options
Diffstat (limited to 'man_term.c')
-rw-r--r-- | man_term.c | 25 |
1 files changed, 7 insertions, 18 deletions
@@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.45 2009/10/26 04:09:45 kristaps Exp $ */ +/* $Id: man_term.c,v 1.46 2009/10/27 08:49:44 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -939,25 +939,18 @@ print_man_foot(struct termp *p, const struct man_meta *meta) static void -print_man_head(struct termp *p, const struct man_meta *meta) +print_man_head(struct termp *p, const struct man_meta *m) { - char *buf, *title; + char buf[BUFSIZ], title[BUFSIZ]; p->rmargin = p->maxrmargin; p->offset = 0; + buf[0] = title[0] = '\0'; - if (NULL == (buf = malloc(p->rmargin))) - err(EXIT_FAILURE, "malloc"); - if (NULL == (title = malloc(p->rmargin))) - err(EXIT_FAILURE, "malloc"); + if (m->vol) + strlcpy(buf, m->vol, BUFSIZ); - if (meta->vol) - (void)strlcpy(buf, meta->vol, p->rmargin); - else - *buf = 0; - - (void)snprintf(title, p->rmargin, "%s(%d)", - meta->title, meta->msec); + snprintf(title, BUFSIZ, "%s(%d)", m->title, m->msec); p->offset = 0; p->rmargin = (p->maxrmargin - strlen(buf) + 1) / 2; @@ -984,8 +977,4 @@ print_man_head(struct termp *p, const struct man_meta *meta) p->rmargin = p->maxrmargin; p->offset = 0; p->flags &= ~TERMP_NOSPACE; - - free(title); - free(buf); } - |