strmap: add functions facilitating use as a string->int map
commit4fa1d501f775253fe70bf6c6a00fe8156c8c61c7
authorElijah Newren <newren@gmail.com>
Thu, 5 Nov 2020 00:22:41 +0000 (5 00:22 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Nov 2020 01:09:49 +0000 (4 17:09 -0800)
tree0d3522fe42bdaf78b60c32d22767a6d57fd38207
parent6ccdfc2a206d8266ad7613999a0d3f6acdf44c89
strmap: add functions facilitating use as a string->int map

Although strmap could be used as a string->int map, one either had to
allocate an int for every entry and then deallocate later, or one had to
do a bunch of casting between (void*) and (intptr_t).

Add some special functions that do the casting.  Also, rename put->set
for such wrapper functions since 'put' implied there may be some
deallocation needed if the string was already found in the map, which
isn't the case when we're storing an int value directly in the void*
slot instead of using the void* slot as a pointer to data.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
strmap.c
strmap.h