On Mon, Feb 16, 2015 at 7:11 AM, Evan Huus <[email protected]> wrote: > On Mon, Feb 16, 2015 at 10:08 AM, Richard Sharpe > <[email protected]> wrote: >> On Mon, Feb 16, 2015 at 6:55 AM, Evan Huus <[email protected]> wrote: >>> Create the wmem_map using g_int64_equal instead of g_direct_equal and >>> wmem_int64_hash instead of g_direct_hash. Create a wmem_file_scope() >>> copy of the key, and pass the resulting pointer to the insert >>> function. >> >> Hmmm, why do we need a wmem_file_scope() copy of the key? We get the >> key in each request and response and I don't store the key anywhere. > > The map itself has to store the key in order to use it for future > lookups. When the key is only 32 bits you can make the pointer itself > store the key, and since the pointer gets copied you don't need an > explicit copy of the key. But when the pointer is just a pointer, you > need a file-scope copy of the key.
OK, so it also seems that I need to pass a pointer to the key value when doing a lookup as well, but not necessarily the same pointer as stored in the map. I assume that a dereference occurs. Is this correct? -- Regards, Richard Sharpe (何以解憂?唯有杜康。--曹操) ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
