From 4a75d04bec9a21933b8c135bbb76803433ab0e60 Mon Sep 17 00:00:00 2001 From: PaulStoffregen Date: Tue, 21 Feb 2023 04:59:00 -0800 Subject: [PATCH] Stream String readStringUntil() default to allow unlimited length --- teensy3/Stream.cpp | 4 ++-- teensy3/Stream.h | 4 ++-- teensy4/Stream.cpp | 4 ++-- teensy4/Stream.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/teensy3/Stream.cpp b/teensy3/Stream.cpp index c0c6f2df8..f2c1b41a2 100644 --- a/teensy3/Stream.cpp +++ b/teensy3/Stream.cpp @@ -261,7 +261,7 @@ String Stream::readString(size_t max) { String str; size_t length = 0; - while (length < max) { + while (length < max || !max) { int c = timedRead(); if (c < 0) { setReadError(); @@ -278,7 +278,7 @@ String Stream::readStringUntil(char terminator, size_t max) { String str; size_t length = 0; - while (length < max) { + while (length < max || !max) { int c = timedRead(); if (c < 0) { setReadError(); diff --git a/teensy3/Stream.h b/teensy3/Stream.h index 95f8b5c10..19cdfc0f9 100644 --- a/teensy3/Stream.h +++ b/teensy3/Stream.h @@ -56,8 +56,8 @@ class Stream : public Print size_t readBytes(uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); } size_t readBytesUntil(char terminator, char *buffer, size_t length); size_t readBytesUntil(char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); } - String readString(size_t max = 120); - String readStringUntil(char terminator, size_t max = 120); + String readString(size_t max = 0 /* 0 means unlimited length */); + String readStringUntil(char terminator, size_t max = 0 /* 0 means unlimited length */); int getReadError() { return read_error; } void clearReadError() { setReadError(0); } protected: diff --git a/teensy4/Stream.cpp b/teensy4/Stream.cpp index 032530644..9022c59a9 100644 --- a/teensy4/Stream.cpp +++ b/teensy4/Stream.cpp @@ -262,7 +262,7 @@ String Stream::readString(size_t max) { String str; size_t length = 0; - while (length < max) { + while (length < max || !max) { int c = timedRead(); if (c < 0) { setReadError(); @@ -279,7 +279,7 @@ String Stream::readStringUntil(char terminator, size_t max) { String str; size_t length = 0; - while (length < max) { + while (length < max || !max) { int c = timedRead(); if (c < 0) { setReadError(); diff --git a/teensy4/Stream.h b/teensy4/Stream.h index 95f8b5c10..19cdfc0f9 100644 --- a/teensy4/Stream.h +++ b/teensy4/Stream.h @@ -56,8 +56,8 @@ class Stream : public Print size_t readBytes(uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); } size_t readBytesUntil(char terminator, char *buffer, size_t length); size_t readBytesUntil(char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); } - String readString(size_t max = 120); - String readStringUntil(char terminator, size_t max = 120); + String readString(size_t max = 0 /* 0 means unlimited length */); + String readStringUntil(char terminator, size_t max = 0 /* 0 means unlimited length */); int getReadError() { return read_error; } void clearReadError() { setReadError(0); } protected: