Go to the source code of this file.
|
HLPFILE * | HLPFILE_ReadHlpFile (LPCSTR lpszPath) |
|
HLPFILE_PAGE * | HLPFILE_PageByHash (HLPFILE *hlpfile, LONG lHash, ULONG *relative) |
|
HLPFILE_PAGE * | HLPFILE_PageByMap (HLPFILE *hlpfile, LONG lMap, ULONG *relative) |
|
HLPFILE_PAGE * | HLPFILE_PageByOffset (HLPFILE *hlpfile, LONG offset, ULONG *relative) |
|
LONG | HLPFILE_Hash (LPCSTR lpszContext) |
|
void | HLPFILE_FreeHlpFile (HLPFILE *) |
|
void | HLPFILE_BPTreeEnum (BYTE *, HLPFILE_BPTreeCallback cb, void *cookie) |
|
BOOL | HLPFILE_BrowsePage (HLPFILE_PAGE *, struct RtfData *rd, unsigned font_scale, unsigned relative) |
|
◆ HLP_DISPLAY
◆ HLP_DISPLAY30
◆ HLP_TABLE
◆ HLP_TOPICHDR
◆ HLPFILE
◆ HLPFILE_BPTreeCallback
◆ HLPFILE_BPTreeCompare
◆ HLPFILE_HOTSPOTLINK
◆ HLPFILE_LINK
◆ HLPFILE_MACRO
◆ HLPFILE_PAGE
◆ HLPFILE_BPTreeEnum()
Definition at line 125 of file hlpfile.c.
126{
127 unsigned magic;
129 unsigned cur_page;
133
135 if (magic != 0x293B)
136 {
137 WINE_ERR(
"Invalid magic in B+ tree: 0x%x\n", magic);
138 return;
139 }
143 pages =
buf + 9 + 38;
145 {
148 }
149 while (cur_page != 0xFFFF)
150 {
154 for (
i = 0;
i < entries;
i++)
155 {
158 }
160 }
161}
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static unsigned short GET_USHORT(const BYTE *buffer, unsigned i)
static short GET_SHORT(const BYTE *buffer, unsigned i)
static HMODULE MODULEINFO DWORD cb
Referenced by WINHELP_IndexDlgProc().
◆ HLPFILE_BrowsePage()
Definition at line 1703 of file hlpfile.c.
1705{
1710 unsigned cpg, parlen;
1711 char tmp[1024];
1712 const char* ck =
NULL;
1713
1717 rd->first_link =
rd->current_link =
NULL;
1719 rd->font_scale = font_scale;
1720 rd->relative = relative;
1721 rd->char_pos_rel = 0;
1722
1724 {
1742 default:
1744 cpg = 1252;
1745 }
1746 if (ck)
1747 {
1748 sprintf(tmp,
"{\\rtf1\\%s\\deff0", ck);
1750 }
1751 else
1752 {
1753 sprintf(tmp,
"{\\rtf1\\ansi\\ansicpg%d\\deff0", cpg);
1755 }
1756
1757
1760 {
1761 const char* family;
1763 {
1764 case FF_MODERN: family =
"modern";
break;
1765 case FF_ROMAN: family =
"roman";
break;
1766 case FF_SWISS: family =
"swiss";
break;
1767 case FF_SCRIPT: family =
"script";
break;
1769 default: family = "nil"; break;
1770 }
1771 sprintf(tmp,
"{\\f%d\\f%s\\fprq%d\\fcharset%d %s;}",
1777 }
1779
1782 {
1783 sprintf(tmp,
"\\red%d\\green%d\\blue%d;",
1788 }
1790
1791 do
1792 {
1794 {
1797 }
1798 else
1799 {
1802 }
1803
1804 if (hlpfile->
version <= 16 &&
index != old_index && old_index != -1)
1805 {
1806
1809 }
1810
1815 if (
index != old_index) {offs = 0; old_index =
index;}
1816
1818 {
1820 if (
count++)
goto done;
1821 break;
1826 if (relative >
index * 0x8000 + offs)
1827 rd->char_pos_rel =
rd->char_pos;
1828 offs += parlen;
1829 break;
1830 default:
1832 }
1834 {
1837 break;
1838 }
1839 else
1841 }
while (
ref != 0xffffffff);
1842done:
1843 page->first_link =
rd->first_link;
1845}
GLuint GLuint GLsizei count
static unsigned GET_UINT(const BYTE *buffer, unsigned i)
static BOOL HLPFILE_RtfAddControl(struct RtfData *rd, const char *str)
static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE *page, struct RtfData *rd, BYTE *buf, BYTE *end, unsigned *parlen)
#define sprintf(buf, format,...)
CHAR lfFaceName[LF_FACESIZE]
#define CHINESEBIG5_CHARSET
#define VIETNAMESE_CHARSET
Referenced by WINHELP_SetupText().
◆ HLPFILE_FreeHlpFile()
Definition at line 2297 of file hlpfile.c.
2298{
2300
2301 if (!hlpfile || --hlpfile->
wRefCount > 0)
return;
2302
2303 if (hlpfile->
next) hlpfile->
next->prev = hlpfile->
prev;
2304 if (hlpfile->
prev) hlpfile->
prev->next = hlpfile->
next;
2306
2308 {
2310 {
2312 }
2314 }
2315
2317 {
2319 {
2321 }
2323 }
2324
2327
2340}
#define HeapFree(x, y, z)
static void HLPFILE_DeletePage(HLPFILE_PAGE *page)
static HLPFILE * first_hlpfile
static void HLPFILE_DeleteMacro(HLPFILE_MACRO *macro)
unsigned * phrases_offsets
struct tagHlpFileFile * prev
HLPFILE_PAGE * first_page
HLPFILE_WINDOWINFO * windows
HLPFILE_MACRO * first_macro
struct tagHlpFileFile * next
BOOL WINAPI DestroyIcon(_In_ HICON)
Referenced by HLPFILE_ReadHlpFile(), WINHELP_DeleteBackSet(), WINHELP_DeleteWindow(), and WINHELP_RememberPage().
◆ HLPFILE_Hash()
Definition at line 547 of file hlpfile.c.
548{
551
552 while ((
c = *lpszContext++))
553 {
555 if (
c >=
'A' &&
c <=
'Z')
x =
c -
'A' + 17;
556 if (
c >=
'a' &&
c <=
'z')
x =
c -
'a' + 17;
557 if (
c >=
'1' &&
c <=
'9')
x =
c -
'0';
558 if (
c ==
'0')
x = 10;
559 if (
c ==
'.')
x = 12;
560 if (
c ==
'_')
x = 13;
561 if (
x) lHash = lHash * 43 +
x;
562 }
563 return lHash;
564}
GLint GLint GLint GLint GLint x
Referenced by HLPFILE_AddHotSpotLinks(), MACRO_JumpID(), and WinMain().
◆ HLPFILE_PageByHash()
Definition at line 437 of file hlpfile.c.
438{
440
441 if (!hlpfile)
return NULL;
443
445
446
448 {
451 }
452
455 {
458 }
459
461}
static void * HLPFILE_BPTreeSearch(BYTE *buf, const void *key, HLPFILE_BPTreeCompare comp)
static HLPFILE_PAGE * HLPFILE_Contents(HLPFILE *hlpfile, ULONG *relative)
HLPFILE_PAGE * HLPFILE_PageByOffset(HLPFILE *hlpfile, LONG offset, ULONG *relative)
static int comp_PageByHash(void *p, const void *key, int leaf, void **next)
Referenced by MACRO_JumpContents(), MACRO_JumpHash(), WINHELP_HandleTextMouse(), and WinMain().
◆ HLPFILE_PageByMap()
◆ HLPFILE_PageByOffset()
◆ HLPFILE_ReadHlpFile()
Definition at line 2759 of file hlpfile.c.
2760{
2762
2764 {
2766 {
2768 return hlpfile;
2769 }
2770 }
2771
2774 if (!hlpfile) return 0;
2775
2780
2782
2784 if (hlpfile->
next) hlpfile->
next->prev = hlpfile;
2785
2787 {
2789 hlpfile = 0;
2790 }
2791
2792 return hlpfile;
2793}
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
static BOOL HLPFILE_DoReadHlpFile(HLPFILE *hlpfile, LPCSTR lpszPath)
void HLPFILE_FreeHlpFile(HLPFILE *hlpfile)
unsigned long contents_start
Referenced by WINHELP_LookupHelpFile().