mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
Provide String::indexOf for a char* needle (#7706)
This commit is contained in:
parent
8375faa542
commit
c5c9f845d1
@ -617,17 +617,33 @@ int String::indexOf(char ch, unsigned int fromIndex) const {
|
||||
return temp - buffer();
|
||||
}
|
||||
|
||||
int String::indexOf(const __FlashStringHelper *s2) const {
|
||||
return indexOf(s2, 0);
|
||||
}
|
||||
|
||||
int String::indexOf(const __FlashStringHelper *s2, unsigned int fromIndex) const {
|
||||
return indexOf((const char*) s2, fromIndex);
|
||||
}
|
||||
|
||||
int String::indexOf(const char *s2) const {
|
||||
return indexOf(s2, 0);
|
||||
}
|
||||
|
||||
int String::indexOf(const char *s2, unsigned int fromIndex) const {
|
||||
if (fromIndex >= len())
|
||||
return -1;
|
||||
const char *found = strstr_P(buffer() + fromIndex, s2);
|
||||
if (found == NULL)
|
||||
return -1;
|
||||
return found - buffer();
|
||||
}
|
||||
|
||||
int String::indexOf(const String &s2) const {
|
||||
return indexOf(s2, 0);
|
||||
}
|
||||
|
||||
int String::indexOf(const String &s2, unsigned int fromIndex) const {
|
||||
if (fromIndex >= len())
|
||||
return -1;
|
||||
const char *found = strstr(buffer() + fromIndex, s2.buffer());
|
||||
if (found == NULL)
|
||||
return -1;
|
||||
return found - buffer();
|
||||
return indexOf(s2.c_str(), fromIndex);
|
||||
}
|
||||
|
||||
int String::lastIndexOf(char theChar) const {
|
||||
|
@ -235,6 +235,10 @@ class String {
|
||||
// search
|
||||
int indexOf(char ch) const;
|
||||
int indexOf(char ch, unsigned int fromIndex) const;
|
||||
int indexOf(const char *str) const;
|
||||
int indexOf(const char *str, unsigned int fromIndex) const;
|
||||
int indexOf(const __FlashStringHelper *str) const;
|
||||
int indexOf(const __FlashStringHelper *str, unsigned int fromIndex) const;
|
||||
int indexOf(const String &str) const;
|
||||
int indexOf(const String &str, unsigned int fromIndex) const;
|
||||
int lastIndexOf(char ch) const;
|
||||
|
@ -245,6 +245,10 @@ TEST_CASE("String nulls", "[core][String]")
|
||||
REQUIRE(s.lastIndexOf("tacos") == -1);
|
||||
REQUIRE(s.lastIndexOf('t', 0) == -1);
|
||||
REQUIRE(s.lastIndexOf('t') == -1);
|
||||
REQUIRE(s.indexOf(String("tacos"), 1) == -1);
|
||||
REQUIRE(s.indexOf(String("tacos")) == -1);
|
||||
REQUIRE(s.indexOf(F("tacos"), 1) == -1);
|
||||
REQUIRE(s.indexOf(F("tacos")) == -1);
|
||||
REQUIRE(s.indexOf("tacos", 1) == -1);
|
||||
REQUIRE(s.indexOf("tacos") == -1);
|
||||
REQUIRE(s.indexOf('t', 1) == -1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user