Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork130
Closed as not planned
Description
Description
replacing multiple occurrences of a string with a smaller string only works for an odd number of occurrences
Environment
Boards platform name
"Raspberry Pi Pico/RP2040" boards platform fromEarle F. Philhower, III
Boards platform version
Original report
Not specified
Last verified with
4.0.3
Code demonstrating problem
voidsetup() { Serial.begin(9600);while (!Serial) {}// this code should remove all occurrences of "narf" from the string String s ="narf"; Serial.println(); Serial.print("input: ("); Serial.print(s); Serial.println(")"); s.replace("narf",""); Serial.print("result: ("); Serial.print(s); Serial.println(")"); s ="narf narf"; Serial.println(); Serial.print("input: ("); Serial.print(s); Serial.println(")"); s.replace("narf",""); Serial.print("result: ("); Serial.print(s); Serial.println(")");}voidloop() {}
Serial monitor output:
input: (narf)result: ()input: (narf narf)result: (narf narf)
Additional information
In this code:
while ((foundAt = strstr(readFrom, find.buffer)) !=NULL) {readFrom = foundAt + find.len;diff =0 - diff;size -= diff;}
line 669 (diff = 0 - diff;
) should be above thewhile
loop.