Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Very weird shell & sysread behavior



On Sun, 28 Oct 2018 at 06:22, Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
>
> On Sat, Oct 27, 2018 at 1:53 PM Sebastian Gniazdowski
> <sgniazdowski@xxxxxxxxx> wrote:
> >
> > Turned out the tricky output-parameter specifier, the '__tmp[(#__tmp +
> > 1)]' isn't correct. Apparently because #__tmp in math context is
> > character-code. Regular __tmp_size variable and '__tmp[__tmp_size +
> > 1]' works correctly, even when the data is printed in two print -r
> > instructions, not as the single string.
>
> You could also do __tmp[$#__tmp+1] if you want to avoid the extra variable.

Thanks, didn't try this. The extra variable has additional positive
effect – when increased for each 0 return from sysread, it doesn't
compute array length each read. But for 65kB reads, it probably
doesn't matter, as there will not be many of reads at all (to exhaust
the input FD).

Blinkenshell isn't responding, a more permanent and responsive link:
https://imgur.com/YGWYTLe

-- 
Sebastian Gniazdowski
News: https://twitter.com/ZdharmaI
IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
Blog: http://zdharma.org



Messages sorted by: Reverse Date, Date, Thread, Author