Age | Commit message (Collapse) | Author |
|
|
|
checking `length` in below while statement
|
|
These functions were changed from private to protected in https://github.com/arduino/Arduino/commit/99f2a2755349784835130147e46cb61659b85893 but the comments were not updated at that time.
In conjunction with equivalent pull requests to Arduino SAM Boards and Arduino SAMD Boards, solves https://github.com/arduino/Arduino/issues/6146.
|
|
|
|
Stream::parseInt & Stream::parseFloat previously had protected
overloads which allowed skipping a custom character. This commit
brings this feature to the public interface.
To keep the public API simpler, the single paramter overload remains
protected. However its functionality is available in the public
interface using the two parameter overload.
|
|
Its default is SKIP_ALL which reflects previous versions.
However SKIP_NONE, and SKIP_WHITESPACE can refine this behaviour.
A parameter used in the protected overloads of parseInt/Float has been
changed from `skipChar` to `ignore`.
|
|
multiple decimals '.' in the stream. Only one can be accepted for
valid decimal numbers.
|
|
prefixed by an '.' character. Previously the preceeding zero must be
present: '0.'
|
|
|
|
|
|
|
|
|
|
PR #2696 without timeout-related changes
|
|
Stream::find(char *target) passes an empty terminator string to
Stream::findUntil(char *target, char *terminator) which caused a compiler
warning with the updated toolchain, so cast it to a char*.
|
|
|
|
Stream::find(char *target) passes NULL as “terminator” to Stream::findUntil(char *target, char *terminator), which immediately dereferences it by passing it on to strlen():
bool Stream::find(char *target)
{
return findUntil(target, NULL);
}
// as find but search ends if the terminator string is found
bool Stream::findUntil(char *target, char *terminator)
{
return findUntil(target, strlen(target), terminator, strlen(terminator));
}
|
|
peekNextDigit() returns an int, so it can return -1 in addition to all
256 possible bytes. By putting the result in a signe char, all bytes
over 128 will be interpreted as "no bytes available". Furthermore, it
seems that on SAM "char" is unsigned by default, causing the
"if (c < 0)" line a bit further down to always be false.
Using an int is more appropriate.
A different fix for this issue was suggested in #1399. This fix helps
towards #1728.
|
|
This isn't necessarily a particularly efficient implementation (it
allocates memory one character at a time and so may lead to
fragmentation) but it seems to work.
http://code.google.com/p/arduino/issues/detail?id=454
|
|
http://code.google.com/p/arduino/issues/detail?id=768
|
|
http://code.google.com/p/arduino/issues/detail?id=586
|
|
http://code.google.com/p/arduino/issues/detail?id=208
|
|
http://code.google.com/p/arduino/issues/detail?id=624
|
|
|
|
Renamed readChars() -> readBytes(), readCharsUntil() -> readBytesUntil().
Changed timeouts to milliseconds from seconds; default from 5 to 1 seconds.
Removed readCharsBetween().
|
|
This from Michael's TextFinder library, incorporated into the Stream class: find(), findUntil(), parseInt(), parseFloat(), readChars(), readCharsUntil(), readCharsBetween(), setTimeout().
|