Kirill K. Smirnov : winhelp: Remember last added page.
Alexandre Julliard
julliard at winehq.org
Tue Dec 18 07:34:43 CST 2007
Module: wine
Branch: master
Commit: 6af0e45d794df870b803afd902e438be838d4bdd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6af0e45d794df870b803afd902e438be838d4bdd
Author: Kirill K. Smirnov <lich at math.spbu.ru>
Date: Mon Dec 17 20:46:50 2007 +0300
winhelp: Remember last added page.
---
programs/winhelp/hlpfile.c | 14 ++++++--------
programs/winhelp/hlpfile.h | 1 +
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/programs/winhelp/hlpfile.c b/programs/winhelp/hlpfile.c
index 3a9717a..49e652c 100644
--- a/programs/winhelp/hlpfile.c
+++ b/programs/winhelp/hlpfile.c
@@ -443,15 +443,14 @@ static BOOL HLPFILE_AddPage(HLPFILE *hlpfile, BYTE *buf, BYTE *end, unsigned off
if (hlpfile->first_page)
{
- HLPFILE_PAGE *p;
-
- for (p = hlpfile->first_page; p->next; p = p->next);
- page->prev = p;
- p->next = page;
+ hlpfile->last_page->next = page;
+ page->prev = hlpfile->last_page;
+ hlpfile->last_page = page;
}
else
{
hlpfile->first_page = page;
+ hlpfile->last_page = page;
page->prev = NULL;
}
@@ -889,9 +888,8 @@ static BOOL HLPFILE_AddParagraph(HLPFILE *hlpfile, BYTE *buf, BYTE *end, unsigne
unsigned short bits;
unsigned nc, ncol = 1;
- if (!hlpfile->first_page) {WINE_WARN("no page\n"); return FALSE;};
-
- for (page = hlpfile->first_page; page->next; page = page->next) /* Nothing */;
+ if (!hlpfile->last_page) {WINE_WARN("no page\n"); return FALSE;};
+ page = hlpfile->last_page;
for (paragraphptr = &page->first_paragraph; *paragraphptr;
paragraphptr = &(*paragraphptr)->next) /* Nothing */;
diff --git a/programs/winhelp/hlpfile.h b/programs/winhelp/hlpfile.h
index 7e6e6e5..3632902 100644
--- a/programs/winhelp/hlpfile.h
+++ b/programs/winhelp/hlpfile.h
@@ -122,6 +122,7 @@ typedef struct tagHlpFileFile
LPSTR lpszTitle;
LPSTR lpszCopyright;
HLPFILE_PAGE* first_page;
+ HLPFILE_PAGE* last_page;
HLPFILE_MACRO* first_macro;
BYTE* Context;
BYTE* kwbtree;
More information about the wine-cvs
mailing list