only indirect once Reference: /n/atom/patch/applied/uarttidy Date: Thu Jun 5 14:17:01 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/9/port/devuart.c Thu Jun 5 14:16:57 2014 +++ /sys/src/9/port/devuart.c Thu Jun 5 14:16:58 2014 @@ -833,36 +833,36 @@ int uartgetc(void) { - Uart *u; + int (*getc)(Uart*); - if((u = consuart) == nil || u->phys->getc == nil) + if(consuart == nil || (getc = consuart->phys->getc) == nil) return -1; - return u->phys->getc(u); + return getc(consuart); } void uartputc(int c) { - Uart *u; + void (*putc)(Uart*, int); - if((u = consuart) == nil || u->phys->getc == nil) + if(consuart == nil || (putc = consuart->phys->putc) == nil) return; - u->phys->putc(u, c); + putc(consuart, c); } void uartputs(char *s, int n) { char *e; - Uart *u; + void (*putc)(Uart*, int); - if((u = consuart) == nil || u->phys->getc == nil) + if(consuart == nil || (putc = consuart->phys->putc) == nil) return; e = s+n; for(; sphys->putc(u, '\r'); - u->phys->putc(u, *s); + putc(consuart, '\r'); + putc(consuart, *s); } }