libeinfo now works out the number of columns from stdout rather than stdin, #188506.

This commit is contained in:
Roy Marples 2007-09-20 11:47:04 +00:00
parent c1cd1da595
commit ccced38428
2 changed files with 9 additions and 4 deletions

View File

@ -1,6 +1,11 @@
# ChangeLog for Gentoo System Intialization ("rc") scripts
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2
20 Sep 2007; Roy Marples <uberlord@gentoo.org>:
libeinfo now works out the number of columns from stdout rather than
stdin, #188506.
19 Sep 2007; Roy Marples <uberlord@gentoo.org>:
Added the checkown applet based on the work by Renato Caldas, #192682

View File

@ -173,17 +173,17 @@ static bool colour_terminal (void)
return (false);
}
static int get_term_columns (void)
static int get_term_columns (FILE *stream)
{
#if defined(TIOCGSIZE) /* BSD */
struct ttysize ts;
if (ioctl(0, TIOCGSIZE, &ts) == 0)
if (ioctl(fileno (stream), TIOCGSIZE, &ts) == 0)
return (ts.ts_cols);
#elif defined(TIOCGWINSZ) /* Linux */
struct winsize ws;
if (ioctl(0, TIOCGWINSZ, &ws) == 0)
if (ioctl(fileno (stream), TIOCGWINSZ, &ws) == 0)
return (ws.ws_col);
#endif
@ -473,7 +473,7 @@ static void _eend (FILE *fp, int col, einfo_color_t color, const char *msg)
if (! msg)
return;
cols = get_term_columns () - (strlen (msg) + 5);
cols = get_term_columns (fp) - (strlen (msg) + 5);
/* cons25 is special - we need to remove one char, otherwise things
* do not align properly at all. */