DbgHelp: Fix for Includes with Relative Paths
Eric Pouech
pouech-eric at wanadoo.fr
Mon Aug 23 15:01:35 CDT 2004
which means that:
- we create a new compilation unit (for example) on 2205 => this gives
the source directory
- we start the main compilation unit on 2206 =>
/home/dm/wine/dlls/dbghelp/elf_module.c
- in this CU, we start a new include file (on xxxx), =>
/home/dm/wine/dlls/dbghelp/../../include/winbase.h
- ...
- we close the CU on 4978
Basically, as I wrote, you don't need two different beasts: currpath and
srcpath. They refer to the same object, but the code is wrong.
We should:
- store the current directory on first SO (or the SO ended by a '/',
which would be better)
- on a non NULL SO, not ended by a '/' create a new compilation unit by
concatening curr dir and the file name (or if file name is absolute, use
the filename)
- for each SOL, get the file name by concatening the curr dir with the
file name (this operation is the same as above).
- nuke the curr dir when getting a NULL SO
current code is wrong as it creates two compilands for each compilation
unit (one for each non NULL SO)
A+
More information about the wine-devel
mailing list