[pacman-dev] -Qi output corrupted when using screen

Xavier Chantry chantry.xavier at gmail.com
Sun Feb 28 05:31:03 EST 2010

On Sun, Feb 28, 2010 at 10:24 AM, Roman Kyrylych
<roman.kyrylych at gmail.com> wrote:
> On Sat, Feb 27, 2010 at 23:35, Xavier Chantry <chantry.xavier at gmail.com> wrote:
>> Well Jeff and I are still waiting for some feedback on our original questions..
> Sorry for the delay.
> On Fri, Feb 26, 2010 at 22:39, Jeff <jeff at kcaccess.com> wrote:
>> Here is a simple POC to see what the output is. It calls ioctl twice
>> with a 10 second delay for changing window sizes between calls. It
>> doesn't use TIOCGSIZW as that is not defined in Linux, but rather BSD
>> and maybe some others. I am not familiar with vps or linode.
> So, I get
>  rows:    0
>  columns: 0
>  rows:    0
>  columns: 0
> instead of expected
>  rows:    24
>  columns: 80
>  rows:    36
>  columns: 139

So TIOCGWINSZ is defined, the ioctl call does not return any error,
but it still just returns 0. Weird.
By the way, how did you figure out the expected values ?

In git master, after the commit I linked above, with your bogus ioctl
call, or piping to cat, getcols() returns 0, and the callers treat
that as no linewrap.
So that could be a problem for you. I wonder if we should keep the
fallback to 80 columns in this bogus situation.

Or maybe we could fallback to that old unused code :
- /* Original envvar way - prone to display issues
- const char *cenv = getenv("COLUMNS");
- if(cenv != NULL) {
- return atoi(cenv);

I am curious to know if that's the only way that works for you.

More information about the pacman-dev mailing list