On 3/7/2022 6:38 AM, Ævar Arnfjörð Bjarmason wrote: > Change users of the inline gettext.h Q_() function to cast its > argument to "unsigned long" instead of "int" or "unsigned int". > > The ngettext() function (which Q_() resolves to) takes an "unsigned > long int", and so does our Q_() wrapper for it, see 0c9ea33b90f (i18n: > add stub Q_() wrapper for ngettext, 2011-03-09). > > In a subsequent commit we'll be making more use of this pattern of: > > func(Q_(..%"PRIuMAX..., (unsigned long)x), (uintmax_t)x); > > By making this change we ensure that this case isn't the odd one out > in that post-image. > if (!res) > - printf(Q_("updated %d path\n", > - "updated %d paths\n", count), (int)count); > + printf(Q_("updated %"PRIuMAX" path\n", > + "updated %"PRIuMAX" paths\n", (unsigned long)count), > + (uintmax_t)count); Why are we adding more uses of "unsigned long" which is not consistent in its size across 64-bit Linux and 64-bit Windows? Specifically, on Windows "unsigned long" is _not_ uintmax_t. Shouldn't we be using uintmax_t everywhere instead? Thanks, -Stolee