On 14/08/14 15:58, Kolja Waschk wrote:
Hi Sebastian,
+ int nToSend;
Integer type is wrong.
Yes, just what the original refill_transmitter uses and expects: nToSend is
passed as return value to rtems_refill_transmitter, which also returns it to
its caller as an int...
Ok, rtems_termios_refill_transmitter() and rtems_termios_dequeue_characters()
use the wrong types as well. This termios.c is a real mess. Originally only
ints where used, but someone introduced size_t and ssize_t to match the POSIX
API. Apparently this was done a bit sloppy.
In this function nToSend is computed from unsigned ints, so its type should be
unsigned int.
+ (void)rtems_termios_start_xmit (tty, tty->rawOutBuf.Tail, false);
Please don't use this (void).
Only one of the two callers (rtems_refill_transmitter) is interested in that
information. Is it preferred to omit the "(void)" in the other or rather do not
pass the info as a return value, but e.g. into a variable pointed to by a
further argument?
http://stackoverflow.com/questions/11888594/ignoring-return-values-in-c
If you use this warning, then it makes sense to use this cast, but its not done
in many places in RTEMS and not in termios.c in particular.
Thanks,
Kolja
--
mr.k.waschk - ixo.de - hamburg, germany
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel