diff options
Diffstat (limited to 'src/serial.c')
-rw-r--r-- | src/serial.c | 66 |
1 files changed, 37 insertions, 29 deletions
diff --git a/src/serial.c b/src/serial.c index 0284703..25748ac 100644 --- a/src/serial.c +++ b/src/serial.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.14 2008/03/03 06:04:42 james + * *** empty log message *** + * * Revision 1.13 2008/03/02 10:37:56 james * *** empty log message *** * @@ -84,7 +87,8 @@ static char rcsid[] = "$Id$"; #include <sys/stat.h> -typedef struct { +typedef struct +{ TTY_SIGNATURE; Serial_lock *lock; int fd; @@ -116,18 +120,19 @@ serial_read (TTY * _t, void *buf, int len) if (t->blocked) return 0; - do { + do + { - red = wrap_read (t->fd, buf, len); - if (red < 0) - return -1; - if (!red) - return done; + red = wrap_read (t->fd, buf, len); + if (red < 0) + return -1; + if (!red) + return done; - buf += red; - len -= red; - done += red; - } + buf += red; + len -= red; + done += red; + } while (len); @@ -145,18 +150,19 @@ serial_write (TTY * _t, void *buf, int len) if (t->blocked) return 0; - do { + do + { - writ = wrap_write (t->fd, buf, len); - if (writ < 0) - return -1; - if (!writ) - sleep (1); + writ = wrap_write (t->fd, buf, len); + if (writ < 0) + return -1; + if (!writ) + sleep (1); - buf += writ; - len -= writ; - done += writ; - } + buf += writ; + len -= writ; + done += writ; + } while (len); @@ -184,16 +190,18 @@ serial_open (char *path, int lock_mode) set_nonblocking (fd); - if (tcgetattr (fd, &termios)) { - close (fd); - return NULL; - } + if (tcgetattr (fd, &termios)) + { + close (fd); + return NULL; + } default_termios (&termios); - if (tcsetattr (fd, TCSANOW, &termios)) { - close (fd); - return NULL; - } + if (tcsetattr (fd, TCSANOW, &termios)) + { + close (fd); + return NULL; + } t = (Serial *) malloc (sizeof (Serial)); |