From fe6295e124726ad9d96e2e171be09fad9f0a1708 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 22 Nov 2013 15:41:49 +0100 Subject: [PATCH] Implemented multi-byte read in File::read of Bridge library. --- libraries/Bridge/src/FileIO.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/libraries/Bridge/src/FileIO.cpp b/libraries/Bridge/src/FileIO.cpp index be94a3cc4..437ae2241 100644 --- a/libraries/Bridge/src/FileIO.cpp +++ b/libraries/Bridge/src/FileIO.cpp @@ -137,7 +137,21 @@ int File::available() { void File::flush() { } -//int read(void *buf, uint16_t nbyte) +int File::read(void *buff, uint16_t nbyte) { + uint16_t n = 0; + uint8_t *p = reinterpret_cast(buff); + while (n < nbyte) { + if (buffered == 0) { + doBuffer(); + if (buffered == 0) + break; + } + *p++ = buffer[readPos++]; + buffered--; + n++; + } + return n; +} uint32_t File::size() { if (bridge.getBridgeVersion() < 101)