diff options
author | James Maki <jmaki@multitech.com> | 2010-05-12 13:23:59 -0500 |
---|---|---|
committer | James Maki <jmaki@multitech.com> | 2010-05-12 13:23:59 -0500 |
commit | f6100159e49f3cc087bc757fe5b175cbd0019437 (patch) | |
tree | 316cafd143431b97742d17c567715735589ae514 /src/cbuffer.c | |
parent | 3b2e0c7388926f6b8128d5e10d5ef9c02a24cd42 (diff) | |
download | venus-gps-f6100159e49f3cc087bc757fe5b175cbd0019437.tar.gz venus-gps-f6100159e49f3cc087bc757fe5b175cbd0019437.tar.bz2 venus-gps-f6100159e49f3cc087bc757fe5b175cbd0019437.zip |
add gps to serial example
Diffstat (limited to 'src/cbuffer.c')
-rw-r--r-- | src/cbuffer.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/src/cbuffer.c b/src/cbuffer.c index 1242496..b0b8237 100644 --- a/src/cbuffer.c +++ b/src/cbuffer.c @@ -25,24 +25,25 @@ #include "utils.h" #include <errno.h> -int buffered_write(int fd, struct cbuffer *buf) { +int buffered_write(int fd, struct cbuffer *buf) +{ int i; int len; int count = buffer_used(buf); int total = 0; i = buf->read_index; - if(i + count > buffer_size(buf)) { + if (i + count > buffer_size(buf)) { len = full_write(fd, buf->buffer + i, buffer_size(buf) - i); - if(len <= 0) { - log_error("full_write failed errno: %d", errno); + if (len <= 0) { + log_error("full_write failed %m"); return len; } total += len; count -= len; - if(len < buffer_size(buf) - i) { + if (len < buffer_size(buf) - i) { buf->read_index = i + len; return total; } @@ -51,11 +52,11 @@ int buffered_write(int fd, struct cbuffer *buf) { } len = full_write(fd, buf->buffer + i, count); - if(len <= 0) { - if(total) { + if (len <= 0) { + if (total) { return total; } else { - log_error("full_write failed errno: %d", errno); + log_error("full_write failed %m"); return len; } } @@ -65,24 +66,25 @@ int buffered_write(int fd, struct cbuffer *buf) { return total; } -int buffered_read(int fd, struct cbuffer *buf) { +int buffered_read(int fd, struct cbuffer *buf) +{ int i; int len; int count = buffer_free(buf); int total = 0; i = buf->write_index; - if(i + count > buffer_size(buf)) { + if (i + count > buffer_size(buf)) { len = safe_read(fd, buf->buffer + i, buffer_size(buf) - i); - if(len <= 0) { - log_warning("safe_read failed errno: %d", errno); + if (len <= 0) { + log_warning("safe_read failed %m"); return len; } total += len; count -= len; - if(len < buffer_size(buf) - i) { + if (len < buffer_size(buf) - i) { buf->write_index = i + len; return total; } @@ -91,11 +93,11 @@ int buffered_read(int fd, struct cbuffer *buf) { } len = safe_read(fd, buf->buffer + i, count); - if(len <= 0) { - if(total) { + if (len <= 0) { + if (total) { return total; } else { - log_warning("safe_read failed errno: %d", errno); + log_warning("safe_read failed %m"); return len; } } @@ -104,4 +106,3 @@ int buffered_read(int fd, struct cbuffer *buf) { return total; } - |