From 27dccaec154688ce1e89ebafbb8209104b13c7c6 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 20 May 1998 17:09:12 +0000 Subject: Patch to add return status to rtems_termios_enqueue_raw_characters from Eric Norum per request from Geoffroy Montel: > The rtems_termios_enqueue_raw_characters function type is void. > The problem is that I can't return an error message if the input > buffer is full. > Could we add a return value? Sure, but what would you do with the overflow indication? POSIX says, ``when the input limit is reached, the saved characters are thrown away without notice''. Anyhow, the change is so small I've done it and enclosed the patch. --- c/src/lib/libc/termios.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'c/src/lib/libc/termios.c') diff --git a/c/src/lib/libc/termios.c b/c/src/lib/libc/termios.c index a41817b28a..b2d1bb1499 100644 --- a/c/src/lib/libc/termios.c +++ b/c/src/lib/libc/termios.c @@ -837,8 +837,9 @@ rtems_termios_read (void *arg) * Place characters on raw queue. * NOTE: This routine runs in the context of the * device receive interrupt handler. + * Returns the number of characters dropped because of overlow. */ -void +int rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len) { struct rtems_termios_tty *tty = ttyp; @@ -855,6 +856,7 @@ rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len) tty->rawInBufTail = newTail; } rtems_semaphore_release (tty->rawInBufSemaphore); + return len; } /* -- cgit v1.2.3