From 4ece2c24d8ffb3ce77ae94effa657e49c1f536c2 Mon Sep 17 00:00:00 2001 From: Thomas Jarosch Date: Thu, 25 Mar 2004 21:44:30 +0000 Subject: [PATCH] libftdi: (tomj) fixed readbuffer offset sizes, fixed read return code --- ftdi/ftdi.c | 7 +++---- ftdi/ftdi.h | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ftdi/ftdi.c b/ftdi/ftdi.c index 0c2314a..84f768a 100644 --- a/ftdi/ftdi.c +++ b/ftdi/ftdi.c @@ -276,10 +276,8 @@ int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size) { // printf("Got bytes from buffer: %d\n", ftdi->readbuffer_remaining); - // Fix offsets + // Fix offset offset += ftdi->readbuffer_remaining; - ftdi->readbuffer_remaining = 0; - ftdi->readbuffer_offset = 0; } // do the actual USB read @@ -318,10 +316,11 @@ int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size) { ftdi->readbuffer_offset += part_size; ftdi->readbuffer_remaining = ret-part_size; + offset += part_size; // printf("Returning part: %d - size: %d - offset: %d - ret: %d - remaining: %d\n", part_size, size, offset, ret, ftdi->readbuffer_remaining); - return part_size; + return offset; } } } diff --git a/ftdi/ftdi.h b/ftdi/ftdi.h index 28a40bd..ea78d3c 100644 --- a/ftdi/ftdi.h +++ b/ftdi/ftdi.h @@ -28,8 +28,8 @@ struct ftdi_context { int baudrate; unsigned char bitbang_enabled; unsigned char *readbuffer; - unsigned char readbuffer_offset; - unsigned char readbuffer_remaining; + unsigned int readbuffer_offset; + unsigned int readbuffer_remaining; unsigned int readbuffer_chunksize; unsigned int writebuffer_chunksize; -- 1.7.1