Thanks Daniel. This doesn't really answer the question. I understand that it will create a compiler warning. I'm suggesting that if the routine doesn't modify the value that the interface should declare identifier as const. That allows me to use:
static const char *IDENTIFIER = "tfs:";
Otherwise I have to copy this to a buffer and it is clumsy for the client. A string literal will not create a compiler error even though it is technically const or at least not ensured to be. That is for historical reasons.
If the interface is changed to const char * then it is backward compatible. Using a literal is not good practice in my opinion especially if it must be used more than once.
I suppose this is less of a question and more of a feature request.
Kenny