Commit 91f89b4f authored by Jean-Christophe Cardot's avatar Jean-Christophe Cardot Committed by Alexandre Julliard

winhlp32: Fix some images not shown in certain 16-bit help files.

Subfiles with bitmap images are usually prefixed with '|', but sometimes not. Signed-off-by: 's avatarJean-Christophe Cardot <wine@cardot.net> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 886875f0
......@@ -507,6 +507,18 @@ static BOOL HLPFILE_FindSubFile(HLPFILE* hlpfile, LPCSTR name, BYTE **subbuf, BY
WINE_TRACE("looking for file '%s'\n", name);
ptr = HLPFILE_BPTreeSearch(hlpfile->file_buffer + GET_UINT(hlpfile->file_buffer, 4),
name, comp_FindSubFile);
if (!ptr)
{ /* Subfiles with bitmap images are usually prefixed with '|', but sometimes not.
Unfortunately, there is no consensus among different pieces of unofficial
documentation. So remove leading '|' and try again. */
CHAR c = *name++;
if (c == '|')
{
WINE_TRACE("not found. try '%s'\n", name);
ptr = HLPFILE_BPTreeSearch(hlpfile->file_buffer + GET_UINT(hlpfile->file_buffer, 4),
name, comp_FindSubFile);
}
}
if (!ptr) return FALSE;
*subbuf = hlpfile->file_buffer + GET_UINT(ptr, strlen(name)+1);
if (*subbuf >= hlpfile->file_buffer + hlpfile->file_buffer_size)
......
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