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.

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to