<div dir="ltr">Thanks for review, kay!<div><br></div><div style>I adabted the code. So trivial_cmp() is tested with INT_TO_PTR('a') - i guess its ok to use 'a' since its evaulated to int?</div><div style>The casts.. Dont know :p they are removed :)</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/26 Kay Sievers <span dir="ltr"><<a href="mailto:kay@vrfy.org" target="_blank">kay@vrfy.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Fri, Apr 26, 2013 at 8:49 PM, Daniel Buch <<a href="mailto:boogiewasthere@gmail.com">boogiewasthere@gmail.com</a>> wrote:<br>
> Version 2, with leak fix. This should be good enough to be pushed.<br>
<br>
</div><div class="im">> +static void test_uint64_compare_func(void) {<br>
> +        assert_se((uint64_t)trivial_compare_func("a", "a") == (uint64_t)0);<br>
> +        assert_se((uint64_t)trivial_compare_func("a", "b") == (uint64_t)-1);<br>
> +        assert_se((uint64_t)trivial_compare_func("b", "a") == (uint64_t)1);<br>
> +}<br>
> +<br>
> +static void test_trivial_compare_func(void) {<br>
> +        assert_se(trivial_compare_func("a", "a") == 0);<br>
> +        assert_se(trivial_compare_func("a", "b") == -1);<br>
> +        assert_se(trivial_compare_func("b", "a") == 1);<br>
> +}<br>
<br>
</div>We cannot use "trivial" here to compare string values and expect<br>
predictable results. "Trivial" will just compare the raw pointers,<br>
which the compiler can arrange as it likes to; "a" is not necessarily<br>
the same as another "a". No doubt, the hashmap.c code should get some<br>
comments here explaining things and how they can/should be used, it's<br>
really not obvious what's going on.<br>
<br>
We can only compare numeric values with INT_TO_PTR(333) or something like that.<br>
<br>
What is the  (uint64_t) cast supposed to test here? And we cast a -1<br>
to an unsigned? That's intentional?<br>
<br>
Thanks,<br>
Kay<br>
</blockquote></div><br></div>