Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c79f722

Browse filesBrowse files
Don't mess with the original in String::substring
Before, substring would (temporarily) add a \0 in the original string at the end of the substring, so the substring could be copied into a new String object. However, now that the String::copy() method can work with non-nul-terminated strings (by passing an explicit length), this trick is not needed and we can just call the copy method instead.
1 parent 8289b2d commit c79f722
Copy full SHA for c79f722

File tree

1 file changed

+1
-4
lines changed
Filter options

1 file changed

+1
-4
lines changed

‎hardware/arduino/avr/cores/arduino/WString.cpp

Copy file name to clipboardExpand all lines: hardware/arduino/avr/cores/arduino/WString.cpp
+1-4Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,7 @@ String String::substring(unsigned int left, unsigned int right) const
624624
String out;
625625
if (left > len) return out;
626626
if (right > len) right = len;
627-
char temp = buffer[right]; // save the replaced character
628-
buffer[right] = '\0';
629-
out = buffer + left; // pointer arithmetic
630-
buffer[right] = temp; //restore character
627+
out.copy(buffer + left, right - left);
631628
return out;
632629
}
633630

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.