Bonjour a tous
J'ai un pb de compilation qui me sort des warnings (que je dois supprimer pour le projet) depuis une fonction déclarée comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
extern void msg_trace(char *, char *, long, long, long, long, long) ;
Cette fonction est utilisée dans une multitude de sources .c dans le code. Certaines de ces sources passent NULL en argument des 4 ou 5 derniers parametres (alors que la declaration attend un long). Autrement dit, l'appel a cette fonction se fait (par ex) comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
msg_ano(C_DATE_MACH, C_DATE_MESS_CALC, 130, NULL, NULL, NULL, NULL);
Le warning associé a l'une de ces fonctions est du type (et logique):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
warning: passing argument 4 of ‘msg_ano’ makes integer from pointer without a cast
warning: passing argument 5 of ‘msg_ano’ makes integer from pointer without a cast
warning: passing argument 6 of ‘msg_ano’ makes integer from pointer without a cast
warning: passing argument 7 of ‘msg_ano’ makes integer from pointer without a cast
Mon souci, c'est que d'autres fonctions utilisent cette meme fonction msg_ano avec des arguments pouvant etre des long comme attendus.

Quelles solutions s'offrent à moi pour pallier ce pb ?
Le polymorphisme n'existant pas en C, je me vois mal creer autant de fonctions msg_ano_1, msg_ano_2 etc ... que j'ai d'appels possibles avec les differents arguments !

(je ne sais pas si c'est super clair, tout ca)

Dites moi, svp ! :-)
Merci