Module: wine Branch: master Commit: 6af0e45d794df870b803afd902e438be838d4bdd URL: http://source.winehq.org/git/wine.git/?a=commit;h=6af0e45d794df870b803afd902...
Author: Kirill K. Smirnov lich@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;