diff options
| author | Nick Foster <nick@nerdnetworks.org> | 2011-04-13 12:21:28 -0700 | 
|---|---|---|
| committer | Josh Blum <josh@joshknows.com> | 2011-04-29 09:58:54 -0700 | 
| commit | 44c8069855aff9adb65448692de3272d0bb1603a (patch) | |
| tree | 6a17f3291538e3262f8883abe4fbfa20f6fe7d63 | |
| parent | b31cefc5eb7022db4851ad333577b5b6829ca2db (diff) | |
| download | uhd-44c8069855aff9adb65448692de3272d0bb1603a.tar.gz uhd-44c8069855aff9adb65448692de3272d0bb1603a.tar.bz2 uhd-44c8069855aff9adb65448692de3272d0bb1603a.zip | |
USRP2/N210: firmware UART read no longer drops 20th char
| -rw-r--r-- | firmware/zpu/lib/hal_io.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/firmware/zpu/lib/hal_io.c b/firmware/zpu/lib/hal_io.c index 1d137943c..4ed694b9d 100644 --- a/firmware/zpu/lib/hal_io.c +++ b/firmware/zpu/lib/hal_io.c @@ -255,12 +255,14 @@ fngets(hal_uart_name_t u, char * const s, int len)  int  fngets_noblock(hal_uart_name_t u, char * const s, int len)  { -  char *x = s; - -  while(((*x=(char)hal_uart_getc_noblock(u)) != '\n') && (*x != 255) && ((x-s) < len)) x++; -  *x = 0; -  //printf("Returning from fngets() with string %d of length %d\n", s[0], x-s); -  return (x-s); +  int i; +  for(i=0; i < len; i++) { +      s[i] = (char) hal_uart_getc_noblock(u); +      if((s[i] == 255) || (s[i] == '\n')) break; +  } +  s[i] = 0; + +  return i;  }  char * | 
