un truc que j'ai pas compris dans cette histoire d'aliasing...
si tu as:
void fonction1(char* b) {
}
et que tu fais
int *a = ...;
fonction((char*)a);
alors, lors de l'appel de
fonction1, a et b pointent vers la même adresse => problème d'aliasing?
Bon sinon, concernant ta question:
la fonction ST_helpMsg( const char * str) ne déférence pas le pointeur "autant de fois qu'il le faudra", car la fonction ne peux pas savoir combien de fois il faut déférencer. Il faudrait que la fonction ait ce prototype: ST_helpMsg( const char * str, int nombreDeDeferencesAFaire)