Multiplexing: if lineNoiseEditFeed is called when there are no bytes available on the open input fd then return linenoiseEditMore rather than NULL.

This commit is contained in:
Matthew Nourse
2025-11-27 16:35:10 +11:00
parent 880b94130f
commit cb7ccfbb9f

View File

@@ -935,7 +935,8 @@ char *linenoiseEditFeed(struct linenoiseState *l) {
char seq[3];
nread = read(l->ifd,&c,1);
if (nread <= 0) return NULL;
if (nread < 0) return ((EAGAIN == errno) || (EWOULDBLOCK == errno)) ? linenoiseEditMore : NULL;
if (0 == nread) return NULL;
/* Only autocomplete when the callback is set. It returns < 0 when
* there was an error reading from fd. Otherwise it will return the