Kirill K. Smirnov : winhelp: Remember last added page.
Module: wine Branch: master Commit: 6af0e45d794df870b803afd902e438be838d4bdd URL: http://source.winehq.org/git/wine.git/?a=commit;h=6af0e45d794df870b803afd902... Author: Kirill K. Smirnov <lich(a)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;
participants (1)
-
Alexandre Julliard