From 5de364163f5a7597ba2f54e37cdea493fbd1e7ff Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 10 Nov 2009 11:24:15 +0000 Subject: Update CDC Class Driver character stream functions to use the correct avr-libc return codes for errors and EOF. Fix pointer arithmetic on void byte buffers by explicitly typecasting the buffer pointers to uint8_t* before altering them. --- LUFA/Drivers/USB/Class/Device/CDC.c | 5 ++--- LUFA/Drivers/USB/Class/Host/CDC.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'LUFA/Drivers/USB/Class') diff --git a/LUFA/Drivers/USB/Class/Device/CDC.c b/LUFA/Drivers/USB/Class/Device/CDC.c index d0cb29ecf..c86b970a3 100644 --- a/LUFA/Drivers/USB/Class/Device/CDC.c +++ b/LUFA/Drivers/USB/Class/Device/CDC.c @@ -242,14 +242,13 @@ void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* CDCInterfaceInfo, FILE* static int CDC_Device_putchar(char c, FILE* Stream) { - CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c); - return 0; + return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0; } static int CDC_Device_getchar(FILE* Stream) { if (!(CDC_Device_BytesReceived((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream)))) - return -1; + return _FDEV_EOF; return CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream)); } diff --git a/LUFA/Drivers/USB/Class/Host/CDC.c b/LUFA/Drivers/USB/Class/Host/CDC.c index 6aceccaf1..5467e3df3 100644 --- a/LUFA/Drivers/USB/Class/Host/CDC.c +++ b/LUFA/Drivers/USB/Class/Host/CDC.c @@ -342,14 +342,13 @@ void CDC_Host_CreateStream(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, FILE* Str static int CDC_Host_putchar(char c, FILE* Stream) { - CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c); - return 0; + return CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0; } static int CDC_Host_getchar(FILE* Stream) { if (!(CDC_Host_BytesReceived((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream)))) - return -1; + return _FDEV_EOF; return CDC_Host_ReceiveByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream)); } -- cgit v1.2.3