From: Karsten Blees Date: Fri, 06 Jun 2014 17:52:03 GMT Subject: Re: [PATCH 1/5] hashmap: add enum for hashmap free_entries option Message-ID: <5391FFC3.5010001@gmail.com> In-Reply-To: <20140605060640.GB23874@sandbox-ub> Am 05.06.2014 08:06, schrieb Heiko Voigt: > This allows a reader to immediately know which options can be used and > what this parameter is about. > [...] > -void hashmap_free(struct hashmap *map, int free_entries) > +void hashmap_free(struct hashmap *map, enum hashmap_free_options free_entries) [...] > > +enum hashmap_free_options { > + HASHMAP_NO_FREE_ENTRIES = 0, > + HASHMAP_FREE_ENTRIES = 1, > +}; This was meant as a boolean parameter. Would it make sense to have enum boolean { false, true }; or similar in some central place? Note that an earlier version took a function pointer, and you could pass stdlib's free() in the common case, or a special free routine for nested entry structures, or NULL to do the cleanup yourself.