This may be arbitrary as both solutions are "equal" (haven't tested them though). But as far as style or standards goes, which would you consider more conformant?
argument = smash_tilde(argument);
Assuming that this is a standard across all codebases:
const char * smash_tilde(const char *);
I'm compiling on g++ and most of my char * argument's have been turned into const char *.