s.buf[s.bufptr] = *uip_appdata;
c = *uip_appdata;
newdata(void){  u16_t len;  len = uip_datalen();    while(len > 0 && s.bufptr < sizeof(s.buf)) {    s.buf[s.bufptr] = *uip_appdata;    ++uip_appdata;    --len;    if(s.buf[s.bufptr] == ISO_cr ||       s.buf[s.bufptr] == ISO_nl) {      s.buf[s.bufptr] = 0;      petsciiconv_topetscii(s.buf, LINELEN);      shell_output(s.buf, "");      shell_input(s.buf);      s.bufptr = 0;    } else {      ++s.bufptr;    }  }  }