|
|
|
|
|
|
|
|
bool Stream::findUntil(const char *target, const char *terminator) |
|
|
bool Stream::findUntil(const char *target, const char *terminator) |
|
|
{ |
|
|
{ |
|
|
if(target == NULL) return true; |
|
|
if(target == NULL) return true; |
|
|
if(terminator == NULL) return true; |
|
|
|
|
|
return findUntil(target, strlen(target), terminator, strlen(terminator)); |
|
|
|
|
|
|
|
|
size_t tlen = (terminator==NULL)?0:strlen(terminator); |
|
|
|
|
|
return findUntil(target, strlen(target), terminator, tlen); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// reads data from the stream until the target string of the given length is found |
|
|
// reads data from the stream until the target string of the given length is found |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( target == NULL) return true; |
|
|
if( target == NULL) return true; |
|
|
if( *target == 0) return true; // return true if target is a null string |
|
|
if( *target == 0) return true; // return true if target is a null string |
|
|
if(terminator == NULL) return true; |
|
|
|
|
|
|
|
|
if (terminator == NULL) termLen = 0; |
|
|
|
|
|
|
|
|
while( (c = timedRead()) > 0){ |
|
|
while( (c = timedRead()) > 0){ |
|
|
if( c == target[index]){ |
|
|
if( c == target[index]){ |