Je maintiens un programme open source qui construit avec autoconf.détecter des prototypes de fonctions obsolètes et incorrectes avec autoconf
En ce moment, j'ai un problème avec certains de mes utilisateurs. Ils utilisent une machine virtuelle pré-distribuée d'une organisation qui a un prototype incorrect pour strchr en elle. Leur prototype est:
char *strchr(char *,int c);
quand bien sûr, nous savons qu'il devrait être:
char *strchr(const char *s,int c);
(qui lui-même est brisé, que la sortie devrait vraiment être const char *
, mais vous ne pouviez pas modifier ce qu'il vous donne si vous avez passé dans un char *
et pas un const char *
, mais je digresse
Ma question: est-il possible de créer une macro autoconf qui détermine quel prototype est utilisé et de l'utiliser en conséquence? Je préfère ne pas fais dire mon code:
v = strchr((char *)s,c);
Merci!
Merci. Je vais essayer. – vy32
UVous avez un parent très proche dans la ligne 4. Sinon, cela a fonctionné. Merci! – vy32