Kirill K. Smirnov : winhelp: winhelp >3. 0 files always use 0x4000 as a divisor in TOPICPOS regardless of DecompressSize .
Alexandre Julliard
julliard at winehq.org
Wed Dec 5 06:56:35 CST 2007
Module: wine
Branch: master
Commit: ae534def5400a7da2ef18bfff34addb6bbb81bfc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae534def5400a7da2ef18bfff34addb6bbb81bfc
Author: Kirill K. Smirnov <lich at math.spbu.ru>
Date: Wed Dec 5 00:41:07 2007 +0300
winhelp: winhelp >3.0 files always use 0x4000 as a divisor in TOPICPOS regardless of DecompressSize.
---
programs/winhelp/hlpfile.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/programs/winhelp/hlpfile.c b/programs/winhelp/hlpfile.c
index f9013e6..cd14193 100644
--- a/programs/winhelp/hlpfile.c
+++ b/programs/winhelp/hlpfile.c
@@ -354,8 +354,16 @@ static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
{
BYTE* end;
- index = (ref - 0x0C) / hlpfile->dsize;
- offset = (ref - 0x0C) % hlpfile->dsize;
+ if (hlpfile->version <= 16)
+ {
+ index = (ref - 0x0C) / hlpfile->dsize;
+ offset = (ref - 0x0C) % hlpfile->dsize;
+ }
+ else
+ {
+ index = (ref - 0x0C) >> 14;
+ offset = (ref - 0x0C) & 0x3FFF;
+ }
if (hlpfile->version <= 16 && index != old_index && index != 0)
{
More information about the wine-cvs
mailing list