From 6c607da0ba3527c5454229707261d79d0b6932eb Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Thu, 16 Nov 2023 23:07:34 -0500 Subject: [PATCH] copysym: Avoid dependency on The header is older and a bit more portable. But even then, it is not really essential for this code. So adjust things to use only if the Autoconf-provided HAVE_INTTYPES_H is defined; otherwise a C89 -based fallback is used. --- src/copysym.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/copysym.c b/src/copysym.c index 3d72d6a..6ff93f3 100644 --- a/src/copysym.c +++ b/src/copysym.c @@ -16,7 +16,20 @@ #include #include -#include + +#if HAVE_INTTYPES_H +#include +typedef uint_least32_t dx_u32; +typedef uint_least64_t dx_u64; +#else +#include +#if UINT_MAX >= 0xffffffff +typedef unsigned dx_u32; +#else +typedef unsigned long dx_u32; +#endif +typedef unsigned long long dx_u64; +#endif #define ARRAYSIZE(x) (sizeof (x) / sizeof (x)[0]) @@ -124,7 +137,7 @@ const char *copyright_symbol(const char *charset) * codes array for the corresponding index in t1, except that * ISO-8859 matches the special value '2' (handled below). */ - uint_least64_t results = 0x001921fb13777511; + dx_u64 results = 0x001921fb13777511; const char (*m1)[sizeof *t1]; unsigned x, cindex; @@ -164,8 +177,8 @@ const char *copyright_symbol(const char *charset) * two digits. The set bits in the 'accept' value indicate * which encodings have the copyright symbol. */ - uint_least32_t accept = 0x00380383; - uint_least32_t collect = 0; + dx_u32 accept = 0x00380383; + dx_u32 collect = 0; char c; while ((c = *charset++)) { -- 2.43.2