diff --git a/src/libsys/console.c b/src/libsys/console.c index e03f546..8209bd6 100644 --- a/src/libsys/console.c +++ b/src/libsys/console.c @@ -8,7 +8,7 @@ #include #include "console.h" -extern con_if_t con_if; +extern const con_if_t con_if; // Funcs con_if_entry_t const* con_getInterface(int file) @@ -94,24 +94,25 @@ void con_flush(int fd) int con_readchar(con_if_entry_t const *pIF) { - int c; - assert(pIF); - - // busy read - do + int c = -1; + if (pIF) { - c = pIF->readchar(pIF->pInst); - - } while(c < 0); - + // busy read + do + { + c = pIF->readchar(pIF->pInst); + + } while(c < 0); + } return c; } void con_writechar(con_if_entry_t const *pIF, char c) { - assert(pIF); - - pIF->writechar(pIF->pInst, c); + if (pIF) + { + pIF->writechar(pIF->pInst, c); + } } // --------------------------------------------------------------------------------- diff --git a/src/libsys/uart.c b/src/libsys/uart.c index 45cdd30..cc97b08 100644 --- a/src/libsys/uart.c +++ b/src/libsys/uart.c @@ -12,28 +12,32 @@ // ------------------------------------ void UART_setbaud(void const *pInst, uint32_t baudrate) { - uart_if_t *pReg = (uart_if_t*)pInst; - - *pReg->pBAUD = UART_CALC_BAUD(baudrate); + if (pInst) + { + uart_if_t *pReg = (uart_if_t*)pInst; + *pReg->pBAUD = UART_CALC_BAUD(baudrate); + } } int UART_readchar(void const *pInst) { - uart_if_t *pReg = (uart_if_t*)pInst; - - if (SYS_UART_BIT_RX_AVAIL & *pReg->pCTRL) + if (pInst) { - return (*pReg->pDATA & 0xFF); + uart_if_t *pReg = (uart_if_t*)pInst; + if (SYS_UART_BIT_RX_AVAIL & *pReg->pCTRL) + { + return (*pReg->pDATA & 0xFF); + } } - return -1; } void UART_writechar(void const *pInst, char c) { - uart_if_t *pReg = (uart_if_t*)pInst; - - while((SYS_UART_BIT_TX_HALFFULL & *pReg->pCTRL) != 0); - - *pReg->pDATA = (uint32_t)c; + if (pInst) + { + uart_if_t *pReg = (uart_if_t*)pInst; + while((SYS_UART_BIT_TX_HALFFULL & *pReg->pCTRL) != 0); + *pReg->pDATA = (uint32_t)c; + } }