Re: [PATCH] efi/libstub: add strrchr function

From: Ard Biesheuvel
Date: Thu Mar 01 2018 - 10:48:51 EST


On 1 March 2018 at 15:27, Rob Herring <robh@xxxxxxxxxx> wrote:
> libfdt gained a new dependency on strrchr, so copy the implementation
> from lib/string.c.
>
> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
> Please ack. This is a dependency for dtc/libfdt sync with upstream.
>
> drivers/firmware/efi/libstub/string.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/drivers/firmware/efi/libstub/string.c b/drivers/firmware/efi/libstub/string.c
> index ed10e3f602c5..c1a7e58a5af7 100644
> --- a/drivers/firmware/efi/libstub/string.c
> +++ b/drivers/firmware/efi/libstub/string.c
> @@ -56,3 +56,20 @@ int strncmp(const char *cs, const char *ct, size_t count)
> return 0;
> }
> #endif
> +
> +#ifndef __HAVE_ARCH_STRRCHR

As discussed over IRC, this #ifndef needs to be dropped.

Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>

> +/**
> + * strrchr - Find the last occurrence of a character in a string
> + * @s: The string to be searched
> + * @c: The character to search for
> + */
> +char *strrchr(const char *s, int c)
> +{
> + const char *last = NULL;
> + do {
> + if (*s == (char)c)
> + last = s;
> + } while (*s++);
> + return (char *)last;
> +}
> +#endif
> --
> 2.14.1
>