|
From: | Paul Eggert |
Subject: | Re: indsize: New module |
Date: | Thu, 3 Dec 2020 09:46:50 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 |
On 12/3/20 6:25 AM, Bruno Haible wrote:
/* The user can define UNSIGNED_INDSIZE_T, to get a different set of compiler warnings. */
I'm leery of this complexity, as it would change the semantics of what the type means. The type is not just about compiler warnings; it's about preferring signed integer arithmetic whenever possible to avoid unexpected results during comparisons and to catch integer overflow.
typedef ptrdiff_t indsize_t;
The type name "indsize_t" is a bit long and this would detract from readability in programs that use a lot of indexes. I suggest "idx_t" instead. dfa.c is already using this type name and it works well there.
dfa.c also has IDX_MAX. I suppose IDX_WIDTH would also be useful. I'm not so sure about PRIdIDX etc. as those macros make programs hard to read and I don't see much point to hiding the fact that the type is equivalent to ptrdiff_t. (dfa.c just uses %td etc. for printf formats.)
[Prev in Thread] | Current Thread | [Next in Thread] |