Change example-cdc

This commit is contained in:
NIIBE Yutaka
2016-05-23 17:42:21 +09:00
parent 72c3d59555
commit eeb354119c
3 changed files with 14 additions and 2 deletions

View File

@@ -142,8 +142,10 @@ main (int argc, const char *argv[])
if (size < 0)
break;
if (usec)
if (size)
{
size--;
s[0] = hexchar (size >> 4);
s[1] = hexchar (size & 0x0f);
s[2] = ':';

View File

@@ -548,6 +548,7 @@ tty_input_char (struct tty *t, int c)
switch (c)
{
case 0x0d: /* Control-M */
t->inputline[t->inputline_len++] = '\n';
tty_echo_char (t, 0x0d);
tty_echo_char (t, 0x0a);
t->flag_input_avail = 1;
@@ -581,7 +582,7 @@ tty_input_char (struct tty *t, int c)
}
break;
default:
if (t->inputline_len < sizeof (t->inputline))
if (t->inputline_len < sizeof (t->inputline) - 1)
{
tty_echo_char (t, c);
t->inputline[t->inputline_len++] = c;
@@ -791,6 +792,12 @@ check_rx (void *arg)
return 0;
}
/*
* Returns -1 on connection close
* 0 on timeout.
* >0 length of the inputline (including final \n)
*
*/
int
tty_recv (struct tty *t, uint8_t *buf, uint32_t *timeout)
{