summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2011-09-16 02:18:56 -0700
committerMathias Krause <minipli@googlemail.com>2012-03-09 20:00:53 +0100
commit1025f3afc85be633451c4312ab26d179d47132e5 (patch)
treea43a5caf546a5617aa9fe7a1007f2abd2e4ec2c8 /src/lib
parent8ebd11eab999654873010e706b95e5fe5855ea64 (diff)
downloadcoreboot-1025f3afc85be633451c4312ab26d179d47132e5.tar.xz
Add an implementation for the memchr library function
Change-Id: Icded479d246f7cce8a3d2154c69f75178fa513e1 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: http://review.coreboot.org/708 Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Tested-by: build bot (Jenkins) Reviewed-by: Mathias Krause <minipli@googlemail.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.inc2
-rw-r--r--src/lib/memchr.c11
2 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 432e24e780..a31033cf5c 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -1,6 +1,7 @@
romstage-y += memset.c
+romstage-y += memchr.c
romstage-y += memcpy.c
romstage-y += memcmp.c
romstage-y += cbfs.c
@@ -15,6 +16,7 @@ romstage-$(CONFIG_CONSOLE_NE2K) += compute_ip_checksum.c
romstage-$(CONFIG_USBDEBUG) += usbdebug.c
ramstage-y += memset.c
+ramstage-y += memchr.c
ramstage-y += memcpy.c
ramstage-y += memcmp.c
ramstage-y += memmove.c
diff --git a/src/lib/memchr.c b/src/lib/memchr.c
new file mode 100644
index 0000000000..a890dceada
--- /dev/null
+++ b/src/lib/memchr.c
@@ -0,0 +1,11 @@
+#include <string.h>
+void *memchr(const void *s, int c, size_t n)
+{
+ const unsigned char *sc = s;
+ while (n--) {
+ if (*sc == (unsigned char)c)
+ return (void *)sc;
+ sc++;
+ }
+ return NULL;
+}