I'm working on a kernel project that needs strstr(3).

It looks as if most of the str* functions in libkern are very
similar, if not identical, to their counterparts in libc/string,
but that approach does not seem to work for strstr (#s added):

 1: char *
 2: strstr(s, find)
 3:         const char *s, *find;
 4: {
 5:         char c, sc;
 6:         size_t len;
 7: 
 8:         if ((c = *find++) != 0) {
 9:                 len = strlen(find);
10:                 do {
11:                         do {
12:                                 if ((sc = *s++) == 0)
13:                                         return (NULL);
14:                         } while (sc != c);
15:                 } while (strncmp(s, find, len) != 0);
16:                 s--;
17:         }
18:         return ((char *)s);
19: }

I get a "warning: cast discards qualifiers from pointer target type"
on line 18.  If I remove the cast, changing it to just "return (s);",
I get "warning: return discards qualifiers from pointer target type"
(and because this is the kernel, those "warning" messages are actually
treated as errors).

What is the accepted method of dealing with this sort of thing?
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to