Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 May 2004 23:37:37 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        cvs-src@freebsd.org
Subject:   Re: cvs commit: src/sys/compat/ndis subr_ndis.c src/sys/dev/if_ndis if_ndis.c
Message-ID:  <20040530232608.I2376@gamplex.bde.org>
In-Reply-To: <20040530094627.GD12007@darkness.comp.waw.pl>
References:  <200405290641.i4T6fHhj002797@repoman.freebsd.org> <20040530094627.GD12007@darkness.comp.waw.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 30 May 2004, Pawel Jakub Dawidek wrote:

> On Fri, May 28, 2004 at 11:41:17PM -0700, Bill Paul wrote:
> [...]
> +> +static int
> +> +my_strcasecmp(s1, s2, len)
> +> +        const char              *s1;
> +> +        const char              *s2;
> +> +        int                     len;
> +> +{
> +> +        int                     i;
> +> +
> +> +        for (i = 0; i < len; i++) {
> +> +                if (toupper(s1[i]) != toupper(s2[i]))
> +> +                        return(1);
> +> +        }
> +> +
> +> +        return(0);
> +> +}
> +> +
>
> Could we move it to libkern? I want to use it too.

There is a better version named strncasecmp() in libc/string/strcasecmp.c.
Things it does better:
- size_t len
- knows that toupper() and tolower()'s arg must be representable as an
  unsigned char or be EOF.  This bug is harmless in the kernel, since
  only ASCII is supported and the to*() functions don't do anything
  bad with negative args.
- only has a couple of style bugs.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040530232608.I2376>