Commit d12d5c72 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Preserve PDB's partial order for types of same name.

The PDB types can contain several times a type definition with an identical name. It seems to appear when modifying a type in source (like adding new fields to a struct): - as the PDB file (generated from first compilation) is updated (and not fully rewritten), the debug information for the old type is not flushed; a new record (for the same struct name) is emitted, and inserted before the old one in the hash table (bucket list). Even if dbghelp's hash table is different from PDB's internal one (ie number of buckets & bucket lists are different), we must maintain the order of records of identical names (they end up in the same bucket) as a lookup by name *must* return the first record in PDB's order. Lookup by name is used: - when resolving a forward definition (to get the full UDT definition including for example a struct/class fields's list) - when searching by type name from dbghelp APIs, like SymGetTypeFromName() This patch implements the preservation of that order. Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
parent ddbd341b
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment