Dear maintainers,

I came accross this issue when I was trying to add support for a new MIPS

The getc() function from console_simple.c returns -EINVAL when no console is

It causes readline_simple to print a non-printable character (-EINVAL in this
case). Furthermore, it causes an infinite loop: readline never returns.

        barebox:/ ���(...)���

With this patch, the error is no more explicit but the readline function stops
to print a dummy character and returns to shell.

        barebox:/ <INTERRUPT>
        barebox:/ <INTERRUPT>
        barebox:/ <INTERRUPT>
        barebox:/ <INTERRUPT>
        barebox:/ <INTERRUPT>
        barebox:/ <INTERRUPT>

The second patch is a simple cleanup of the in-file documentation.

Changes since v1:
 - change c variable type from char in int
 - set *p to NUL before returning -1 when getchar returns an error
 - update function documentation

Gaël PORTAY (2):
  readline_simple: return -1 if getc fails
  readline_simple: remove obsolete documentation

 lib/readline_simple.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)


barebox mailing list

Reply via email to