-
Philip Chimento authored
%Id is a glibc extension. The "I" character is used elsewhere in other extensions too. For example, %I is a Microsoft extension for printing size_t. Although undocumented on Darwin, that platform's libc emulates the Microsoft extension. If %I is interpreted as size_t, then the code is likely to crash on platforms where int and size_t are different widths, such as 64-bit OSX. This adds a configure-time check for %Id. When it's not supported, then the provided sample program will error out when compiled with -Werror. If not supported then we simply print %d since I don't believe the alternative representation flag has any other equivalent on other platforms. https://bugzilla.gnome.org/show_bug.cgi?id=773297
be2cf989