Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| Message-ID | <4DC8F6F9.3C1@mindspring.com> (permalink) |
|---|---|
| Date | 2011-05-10 04:27 -0400 |
| From | pete <pfiland@mindspring.com> |
| Organization | PF |
| Newsgroups | comp.lang.c |
| Subject | Re: memmem() |
| References | <iq50jo$aue$1@dont-email.me> <87pqnrkel5.fsf@blp.benpfaff.org> <pan.2011.05.10.06.19.19.15000@nowhere.com> <87mxivhxl5.fsf@temporary-address.org.uk> |
Dr Nick wrote:
> I've got "caseless_strcmp" in my code, built on strcasecmp (and, on
> porting to Windows, stricmp)
>
> Thusly:
>
> #ifdef HAVE_STRCASECMP
> #define caseless_strcmp(x,y) strcasecmp(x,y)
> #else
> #ifdef HAVE_STRICMP
> #define caseless_strcmp(x,y) stricmp(x,y)
> #else
> #error Need to implement caseless string comparison here
> #endif
> #endif
>
> So I push the problem off for the time being,
> avoid writing code I don't
> need to, but don't leave anyone porting it in the future to a non GNU
> system foundering with no idea of what has gone wrong.
This is what I have so far:
#include <ctype.h>
int str_ccmp(const char *s1, const char *s2)
{
for (;;) {
if (*s1 != *s2) {
const int c1 = tolower(*(const unsigned char *)s1);
const int c2 = tolower(*(const unsigned char *)s2);
if (c2 != c1) {
return c2 > c1 ? -1 : 1;
}
} else {
if (*s1 == '\0') {
return 0;
}
}
++s1;
++s2;
}
}
I'm still not sure whether it's better to use
tolower(*(const unsigned char *)s1)
or
tolower((unsigned char)*s1)
--
pete
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
memmem() barcaroller <barcaroller@music.net> - 2011-05-07 22:53 -0400
Re: memmem() "Bill Cunningham" <nospam@nspam.invalid> - 2011-05-08 02:33 -0400
Re: memmem() puppi <fabricio.puppi@gmail.com> - 2011-05-08 00:11 -0700
Re: memmem() "Bill Cunningham" <nospam@nspam.invalid> - 2011-05-08 04:36 -0400
Re: memmem() James Kuyper <jameskuyper@verizon.net> - 2011-05-08 09:33 -0400
Re: memmem() barcaroller <barcaroller@music.net> - 2011-05-08 10:48 -0400
Re: memmem() barcaroller <barcaroller@gmail.com> - 2011-05-08 10:46 -0400
Re: memmem() Angel <angel+news@spamcop.net> - 2011-05-08 15:56 +0000
Re: memmem() barcaroller <barcaroller@music.net> - 2011-05-08 12:03 -0400
Re: memmem() puppi <fabricio.puppi@gmail.com> - 2011-05-09 04:58 -0700
Re: memmem() Keith Thompson <kst-u@mib.org> - 2011-05-09 08:45 -0700
Re: memmem() puppi <fabricio.puppi@gmail.com> - 2011-05-09 04:47 -0700
Re: memmem() blp@cs.stanford.edu (Ben Pfaff) - 2011-05-09 09:45 -0700
Re: memmem() Nobody <nobody@nowhere.com> - 2011-05-10 07:19 +0100
Re: memmem() Dr Nick <3-nospam@temporary-address.org.uk> - 2011-05-10 07:35 +0100
Re: memmem() pete <pfiland@mindspring.com> - 2011-05-10 04:27 -0400
Re: memmem() Ben Pfaff <blp@cs.stanford.edu> - 2011-05-10 07:16 -0700
Re: memmem() Nobody <nobody@nowhere.com> - 2011-05-10 21:07 +0100
csiph-web