From: Jan Beulich <jbeulich@suse.com> To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org> Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org> Subject: [PATCH v2 05/20] lib: move memchr() Date: Wed, 21 Apr 2021 16:20:01 +0200 [thread overview] Message-ID: <50a77bf7-e35b-be24-9cc3-a1691e7c7f90@suse.com> (raw) In-Reply-To: <3ae091ce-6f6c-3ec6-abd3-4490239a707f@suse.com> Allow the function to be individually linkable, discardable, and overridable. Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/common/string.c +++ b/xen/common/string.c @@ -311,28 +311,6 @@ char *(strstr)(const char *s1, const cha } #endif -#ifndef __HAVE_ARCH_MEMCHR -/** - * memchr - Find a character in an area of memory. - * @s: The memory area - * @c: The byte to search for - * @n: The size of the area. - * - * returns the address of the first occurrence of @c, or %NULL - * if @c is not found - */ -void *(memchr)(const void *s, int c, size_t n) -{ - const unsigned char *p = s; - - while (n--) - if ((unsigned char)c == *p++) - return (void *)(p - 1); - - return NULL; -} -#endif - /** * memchr_inv - Find an unmatching character in an area of memory. * @s: The memory area --- a/xen/lib/Makefile +++ b/xen/lib/Makefile @@ -4,6 +4,7 @@ lib-y += bsearch.o lib-y += ctors.o lib-y += ctype.o lib-y += list-sort.o +lib-y += memchr.o lib-y += memcmp.o lib-y += memcpy.o lib-y += memmove.o --- /dev/null +++ b/xen/lib/memchr.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 1991, 1992 Linus Torvalds + */ + +#include <xen/string.h> + +/** + * memchr - Find a character in an area of memory. + * @s: The memory area + * @c: The byte to search for + * @n: The size of the area. + * + * returns the address of the first occurrence of @c, or %NULL + * if @c is not found + */ +void *(memchr)(const void *s, int c, size_t n) +{ + const unsigned char *p = s; + + while (n--) + if ((unsigned char)c == *p++) + return (void *)(p - 1); + + return NULL; +} + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 8 + * tab-width: 8 + * indent-tabs-mode: t + * End: + */
next prev parent reply other threads:[~2021-04-21 14:20 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-21 14:15 [PATCH v2 00/20] further population of xen/lib/ Jan Beulich 2021-04-21 14:18 ` [PATCH v2 01/20] lib: move memset() Jan Beulich 2021-04-21 14:18 ` [PATCH v2 02/20] lib: move memcpy() Jan Beulich 2021-04-21 14:19 ` [PATCH v2 03/20] lib: move memmove() Jan Beulich 2021-04-21 14:19 ` [PATCH v2 04/20] lib: move memcmp() Jan Beulich 2021-04-21 14:20 ` Jan Beulich [this message] 2021-04-21 14:20 ` [PATCH v2 06/20] lib: move memchr_inv() Jan Beulich 2021-04-21 14:22 ` [PATCH v2 07/20] lib: move strlen() Jan Beulich 2021-04-21 14:22 ` [PATCH v2 08/20] lib: move strnlen() Jan Beulich 2021-04-21 14:22 ` [PATCH v2 09/20] lib: move strcmp() Jan Beulich 2021-04-21 14:23 ` [PATCH v2 10/20] lib: move strncmp() Jan Beulich 2021-04-21 14:23 ` [PATCH v2 11/20] lib: move strlcpy() Jan Beulich 2021-04-21 14:24 ` [PATCH v2 12/20] lib: move strlcat() Jan Beulich 2021-04-21 14:24 ` [PATCH v2 13/20] lib: move strchr() Jan Beulich 2021-04-21 14:24 ` [PATCH v2 14/20] lib: move strrchr() Jan Beulich 2021-04-21 14:25 ` [PATCH v2 15/20] lib: move strstr() Jan Beulich 2021-04-21 14:25 ` [PATCH v2 16/20] lib: move strcasecmp() Jan Beulich 2021-04-21 14:25 ` [PATCH v2 17/20] lib: move/rename strnicmp() to strncasecmp() Jan Beulich 2021-04-21 19:20 ` Julien Grall 2021-04-21 14:26 ` [PATCH v2 18/20] lib: move strspn() Jan Beulich 2021-04-21 14:26 ` [PATCH v2 19/20] lib: move strpbrk() Jan Beulich 2021-04-21 14:26 ` [PATCH v2 20/20] lib: move strsep() Jan Beulich 2021-04-21 19:21 ` [PATCH v2 00/20] further population of xen/lib/ Julien Grall
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=50a77bf7-e35b-be24-9cc3-a1691e7c7f90@suse.com \ --to=jbeulich@suse.com \ --cc=andrew.cooper3@citrix.com \ --cc=george.dunlap@citrix.com \ --cc=iwj@xenproject.org \ --cc=julien@xen.org \ --cc=sstabellini@kernel.org \ --cc=wl@xen.org \ --cc=xen-devel@lists.xenproject.org \ --subject='Re: [PATCH v2 05/20] lib: move memchr()' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).