On Tue, Oct 18, 2016 at 02:08:14PM +0200, Markus Armbruster wrote:
> "Daniel P. Berrange" <berra...@redhat.com> writes:
> > On Wed, Oct 12, 2016 at 08:15:02PM +0100, Dr. David Alan Gilbert wrote:
> >> Hi,
> >> I had a look at a couple of readline like libraries;
> >> editline and linenoise. A difficulty with using them is that
> >> they both want fd's or FILE*'s; editline takes either but
> >> from a brief look I think it's expecting to extract the fd.
> >> That makes them tricky to integrate into qemu, where
> >> the chardev's hide a whole bunch of non-fd things; in particular
> >> tls, mux, ringbuffers etc.
> >> If we could get away with just a FILE* then we could use fopencookie,
> >> but that's GNU only.
> >> Is there any sane way of shepherding all chardev's into having an
> >> fd?
> > The entire chardev abstraction model exists precisely because we cannot
> > make all chardevs look like a single fd. Even those which are fd based
> > may have separate FDs for input and output.
> > IMHO the only viable approach would be to enhance linenoise/editline to
> > not assume use of fd* or FILE * abstractions.
> The real thing (GNU readline) has hooks rl_getc_function,
> rl_input_available_hook, rl_redisplay_function and so forth, which might
> do the trick. Unfortunately, we're stuck with cheap copies due to our
> foolish acceptance of GPLv2-only contributions.
I'm wondering if improving read line facilities in HMP is really important
enough for us to bother dealing with the problems, as opposed to just
staying with our current impl ?
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|