Jes Klinke would like Jes Klinke to review this change.

View Change

lib/string: Add standard strstr() function

Adding implementation of standard library strstr()

See https://review.coreboot.org/c/coreboot/+/43741 for context.

Change-Id: I63e26e98ed2dd15542f81c0a3a5e353bb93b7350
Signed-off-by: jbk@chromium.org
---
M src/include/string.h
M src/lib/string.c
2 files changed, 11 insertions(+), 0 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/44085/1
diff --git a/src/include/string.h b/src/include/string.h
index 8eef068..3cfa18d 100644
--- a/src/include/string.h
+++ b/src/include/string.h
@@ -29,6 +29,7 @@
int strncmp(const char *s1, const char *s2, int maxlen);
int strspn(const char *str, const char *spn);
int strcspn(const char *str, const char *spn);
+char *strstr(const char *haystack, const char *needle);
char *strtok_r(char *str, const char *delim, char **ptr);
char *strtok(char *str, const char *delim);
long atol(const char *str);
diff --git a/src/lib/string.c b/src/lib/string.c
index e8f72a2..9677520 100644
--- a/src/lib/string.c
+++ b/src/lib/string.c
@@ -163,6 +163,16 @@
return ret;
}

+char *strstr(const char *haystack, const char *needle)
+{
+ size_t needle_len = strlen(needle);
+ for (; *haystack; haystack++) {
+ if (!strncmp(haystack, needle, needle_len))
+ return (char *)haystack;
+ }
+ return NULL;
+}
+
char *strtok_r(char *str, const char *delim, char **ptr)
{
char *start;

To view, visit change 44085. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I63e26e98ed2dd15542f81c0a3a5e353bb93b7350
Gerrit-Change-Number: 44085
Gerrit-PatchSet: 1
Gerrit-Owner: Jes Klinke <jbk@chromium.org>
Gerrit-Reviewer: Jes Klinke <jbk@google.com>
Gerrit-MessageType: newchange