mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 16:11:42 +00:00
[WINESYNC] dbghelp: Don't use elf_fetch_file_info and macho_fetch_file_info in module_find_cb.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id adecdb1d01487af16f5f708ae92a05ba4707187e by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
031700a760
commit
f9b46d2c9f
2 changed files with 21 additions and 26 deletions
|
@ -24,6 +24,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "dbghelp_private.h"
|
||||
#include "image_private.h"
|
||||
#include "winnls.h"
|
||||
#include "winternl.h"
|
||||
#include "wine/debug.h"
|
||||
|
@ -523,34 +524,28 @@ static BOOL CALLBACK module_find_cb(PCWSTR buffer, PVOID user)
|
|||
if (timestamp == mf->dw1 && size == mf->dw2) matched++;
|
||||
}
|
||||
break;
|
||||
case DMT_ELF:
|
||||
if (elf_fetch_file_info(buffer, 0, &size, &checksum))
|
||||
{
|
||||
matched++;
|
||||
if (checksum == mf->dw1) matched++;
|
||||
else
|
||||
WARN("Found %s, but wrong checksums: %08x %08x\n",
|
||||
debugstr_w(buffer), checksum, mf->dw1);
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN("Couldn't read %s\n", debugstr_w(buffer));
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case DMT_MACHO:
|
||||
if (macho_fetch_file_info(NULL, buffer, 0, 0, &size, &checksum))
|
||||
case DMT_ELF:
|
||||
{
|
||||
matched++;
|
||||
if (checksum == mf->dw1) matched++;
|
||||
HANDLE file;
|
||||
|
||||
file = CreateFileW(buffer, GENERIC_READ, FILE_SHARE_READ, NULL,
|
||||
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (file == INVALID_HANDLE_VALUE) break;
|
||||
|
||||
checksum = calc_crc32(file);
|
||||
if (checksum == mf->dw1) matched += 2;
|
||||
else
|
||||
WARN("Found %s, but wrong checksums: %08x %08x\n",
|
||||
debugstr_w(buffer), checksum, mf->dw1);
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN("Couldn't read %s\n", debugstr_w(buffer));
|
||||
return FALSE;
|
||||
{
|
||||
struct image_file_map fmap;
|
||||
WARN("Found %s, but wrong checksums: %08x %08x\n", debugstr_w(buffer), checksum, mf->dw1);
|
||||
if (elf_map_handle(file, &fmap)) /* FIXME: validate macho files */
|
||||
{
|
||||
image_unmap_file(&fmap);
|
||||
matched++;
|
||||
}
|
||||
}
|
||||
CloseHandle(file);
|
||||
}
|
||||
break;
|
||||
case DMT_PDB:
|
||||
|
|
|
@ -4,4 +4,4 @@ files:
|
|||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
||||
tags:
|
||||
wine: fec0157585e9d8bd03a8a71d1ed9b9d7ca59cb56
|
||||
wine: adecdb1d01487af16f5f708ae92a05ba4707187e
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue