Re: memparse(), simple_strtoul() prototypes...

From: Francis Moreau
Date: Mon Feb 19 2007 - 08:03:42 EST


Hi,

On 2/19/07, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
Francis Moreau wrote:
> Hi,
>
> I must miss something...
>
> Looking at these prototypes
>
> unsigned long simple_strtoul(const char *cp, char **endp,unsigned int base)
> unsigned long long memparse (char *ptr, char **retptr)
>
> I'm really wondering why not all parameters are not all 'const'. None
> of these functions modify any pointer containts. And simple_strtoul()
> ends up doing sometghing like:
>
> if (endp)
> *endp = (char *)cp;
>
> Could anyone shed some light ?

The C standard behaves like that, too, mostly because C doesn't have a
way to say "X is const iff Y is const" (unlike C++, btw.)


hm, I don't get your point. I understand why we cast 'cp' into a (char
*) but that's not my point. My point is why aren't all function
parameters are not const ?

--
Francis
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/