:: Re: [DNG] "Common knowledge?"-quest…
Top Page
Delete this message
Reply to this message
Author: Didier Kryn
Date:  
To: dng
Subject: Re: [DNG] "Common knowledge?"-question
Le 23/01/2016 12:16, Didier Kryn a écrit :
>
>     I'm curious of the reason why you specify
>    static void print_start(char const *name, char const *what)

>
>     This means the pointers to the arrays of characters are constant 
> (not the characters). The effect of this cannot be to protect the 
> pointers in the caller program since they are passed by value -- 
> copied into register or stack before passing control to the function. 
> If it is for the sanity of the function itself, then congratulations, 
> this is a sane thing to do, even if it is easy to check by eye that 
> the pointers aren't modified. But, to be consistent, since your 
> function doesn't even modify the content of the strings, you should 
> also declare constant the characters themself, like in the following:
>     static void print_start(const char const *name, const char const 
> *what)


     Sorry, I overlooked the code and read "char const *name" as if it 
was "char * const name". Actually the syntax you used is equivalent to 
"const char *name". It actually protects the string from being 
overwritten by the function.