summaryrefslogtreecommitdiff
path: root/src/stm/ao_usb_stm.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-11-30 16:01:07 -0800
committerKeith Packard <keithp@keithp.com>2012-11-30 16:01:07 -0800
commit0b65402361f36a0c722977bcb63edb26fda0db28 (patch)
tree435d23c147829f11aac67fd6c30c74dd96f76e8e /src/stm/ao_usb_stm.c
parent0fa9ce23dd63846337872d6d666a469512614d07 (diff)
altos: Make stdio 8-bit clean by making pollchar return int
We were stealing one value (0xff) in the return value from pollchar to indicate 'not ready yet'. Instead of doing that, use the integer value -1 and have pollchar return an int instead of a char. That necessitated cleaning a few other bits to make sure that 0xff wouldn't get promoted to -1 on accident. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm/ao_usb_stm.c')
-rw-r--r--src/stm/ao_usb_stm.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/stm/ao_usb_stm.c b/src/stm/ao_usb_stm.c
index d93a0c17..9379e5cd 100644
--- a/src/stm/ao_usb_stm.c
+++ b/src/stm/ao_usb_stm.c
@@ -873,10 +873,10 @@ _ao_usb_out_recv(void)
ao_usb_set_stat_rx(AO_USB_OUT_EPR, STM_USB_EPR_STAT_RX_VALID);
}
-static char
+static int
_ao_usb_pollchar(void)
{
- char c;
+ uint8_t c;
if (!ao_usb_running)
return AO_READ_AGAIN;
@@ -896,10 +896,10 @@ _ao_usb_pollchar(void)
return c;
}
-char
+int
ao_usb_pollchar(void)
{
- char c;
+ int c;
ao_arch_block_interrupts();
c = _ao_usb_pollchar();
ao_arch_release_interrupts();
@@ -909,7 +909,7 @@ ao_usb_pollchar(void)
char
ao_usb_getchar(void)
{
- char c;
+ int c;
ao_arch_block_interrupts();
while ((c = _ao_usb_pollchar()) == AO_READ_AGAIN)