Ticket #43357

Configure check for proper size_t printf() format

Date d'ouverture: 2021-12-09 10:48 Dernière mise à jour: 2021-12-24 17:48

Rapporteur:
Propriétaire:
Type:
État:
Atteints
Composant:
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
4

Détails

For better support of using size_t variables in the printf() family of functions, add a configure check for determining which kind of specifier should be used for them. This ticket is about autotools implementation, though care should be taken not to completely break meson build.

As part of #43200, this has also been posted to http://forum.freeciv.org/f/viewtopic.php?f=14&t=92093

Ticket History (3/15 Histories)

2021-12-09 10:48 Updated by: cazfi
  • New Ticket "Confgure check for proper size_t printf() format" created
2021-12-09 10:52 Updated by: cazfi
  • Résolution Update from Aucun to Accepted
2021-12-09 11:00 Updated by: cazfi
  • Summary Updated
2021-12-09 12:01 Updated by: cazfi
  • Details Updated
2021-12-13 00:38 Updated by: cazfi
  • Résolution Update from Accepted to Aucun
Commentaire

That "%ldd" should be "%lld"

2021-12-13 06:22 Updated by: cazfi
  • Résolution Update from Aucun to Accepted
Commentaire

- New version corrects "%lld"

2021-12-13 13:12 Updated by: cazfi
  • Résolution Update from Accepted to Aucun
Commentaire

This was a great pain to debug in msys2, but it turns out that %zu is valid format specifier for printf() (which we used in configure test), but not for our function declared with attribute((format(printf, ...)))

I have other fixes to this as well. Will submit a new version later.

2021-12-16 12:55 Updated by: cazfi
  • Résolution Update from Aucun to Accepted
Commentaire

New patch version
- Make sure that the build test has -Wall and -Werror set so that it fails for specifiers for which it should
- Added "checking..." outputs
- In the compilation test, call function defined with attribute((format(printf, ...))) instead of printf()

2021-12-20 14:00 Updated by: cazfi
  • Résolution Update from Accepted to Aucun
Commentaire

Crosser based build fails with the current patch version. It would expect "%I64d"

2021-12-20 21:20 Updated by: cazfi
  • Résolution Update from Aucun to Accepted
Commentaire

Support for "%I64d" added in latest version

2021-12-24 17:48 Updated by: cazfi
  • État Update from Ouvert to Atteints
  • Propriétaire Update from (Aucun) to cazfi
  • Résolution Update from Accepted to Fixed

Modifier

Please login to add comment to this ticket » Connexion