scanf est déjà défini par
getsn et
sscanf, et cela depuis pas mal de temps. Au départ, le
scanf travaillait en direct, mais ça empêchait presque toute forme de correction et ça faisait que parfois ça parsait sans appuyer sur ENTER, parfois pas. Donc si tu redéfinis
getsn, ça va automatiquement aussi porter sur
scanf.
Thibaut (./36) :
2) push_shortint et ses soeurs ne semblent pas définies dans les headers (warning du compilateur lorsqu'on les utilise) alors qu'elles sont référencées dans la doc 
Ton
MIN_AMS est trop petit.
Question : A quoi sert ER_throwVar ? Je n'arrive pas à comprendre l'explication de la doc.
Renvoyer une erreur avec un code d'erreur variable à AMS. Voir aussi
ENABLE_ERROR_RETURN dans la doc. (Si tu utilises
ER_throwVar sans ça, tu risques plusieurs problèmes.) Et attention, ça quitte immédiatement le programme, sauf s'il y a des
TRY qui interceptent l'erreur.