David Bremner <david@tethera.net> writes: > I can't figure out how checking the sign of a bool ever worked. The > following program demonstrates the problem (i.e. for me it prints 1). > > #include <stdio.h> > #include <stdbool.h> > int main(int argc, char **argv) { > bool x; > x = -1; > printf("x = %d\n", x); > } > > This seems to be mandated by the C99 standard 6.3.1.2. Perhaps it never did work? It looks like this function to date is used only for properties, where I assume each message has just one or two? With just a few elements a buggy binary search can do surprisingly well. Don't ask me how I know this. ;-) Perhaps some unit tests for _notmuch_string_map would be worthwhile? > --- > > I'd like to get this in a new point release ASAP. > > lib/string-map.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/string-map.c b/lib/string-map.c > index ad818207..a88404c7 100644 > --- a/lib/string-map.c > +++ b/lib/string-map.c > @@ -106,7 +106,7 @@ _notmuch_string_map_sort (notmuch_string_map_t *map) > map->sorted = true; > } > > -static bool > +static int > string_cmp (const char *a, const char *b, bool exact) > { > if (exact) > -- Looks good. _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch