From 1d29654355a513cb2ee15f9d6d565a76b15ae8f6 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 22 Sep 2005 10:52:56 +0000 Subject: [PATCH] Get rid of the hlp2sgml hack. --- programs/winhelp/.cvsignore | 1 - programs/winhelp/Makefile.in | 6 - programs/winhelp/hlp2sgml.c | 408 ----------------------------------- 3 files changed, 415 deletions(-) delete mode 100644 programs/winhelp/hlp2sgml.c diff --git a/programs/winhelp/.cvsignore b/programs/winhelp/.cvsignore index e2509a258ac..47e9327915d 100644 --- a/programs/winhelp/.cvsignore +++ b/programs/winhelp/.cvsignore @@ -1,5 +1,4 @@ Makefile -hlp2sgml lex.yy.c rsrc.res winhelp.exe.dbg.c diff --git a/programs/winhelp/Makefile.in b/programs/winhelp/Makefile.in index 9879c239bb9..ff6a3c8af95 100644 --- a/programs/winhelp/Makefile.in +++ b/programs/winhelp/Makefile.in @@ -5,7 +5,6 @@ VPATH = @srcdir@ MODULE = winhelp.exe APPMODE = -mwindows IMPORTS = comdlg32 shell32 user32 gdi32 kernel32 -PROGRAMS = hlp2sgml C_SRCS = \ callback.c \ @@ -23,11 +22,6 @@ RC_SRCS = rsrc.rc @MAKE_PROG_RULES@ -all: $(PROGRAMS) - -hlp2sgml: hlp2sgml.o hlpfile.o - $(CC) -o hlp2sgml hlp2sgml.o hlpfile.o $(LDFLAGS) - @LEX_OUTPUT_ROOT@.c: macro.lex.l $(LEX) -8 -i $(SRCDIR)/macro.lex.l diff --git a/programs/winhelp/hlp2sgml.c b/programs/winhelp/hlp2sgml.c deleted file mode 100644 index 2df1ec57e01..00000000000 --- a/programs/winhelp/hlp2sgml.c +++ /dev/null @@ -1,408 +0,0 @@ -/* - * Copyright 1996 Ulrich Schmid - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include -#include -#include -#include -#include -#include "windows.h" -#include "hlpfile.h" - -typedef struct -{ - const char *header1; - const char *header2; - const char *section; - const char *first_paragraph; - const char *newline; - const char *next_paragraph; - const char *special_char; - const char *begin_italic; - const char *end_italic; - const char *begin_boldface; - const char *end_boldface; - const char *begin_typewriter; - const char *end_typewriter; - const char *tail; -} FORMAT; - -typedef struct -{ - const char ch; - const char *subst; -} CHARMAP_ENTRY; - - -FORMAT format = -{ - "\n" - "
\n" - "\n", - - "\n<author>\n%s\n" - "<date>\n%s\n", - - "\n<sect>\n", - "\n<p>\n", - "\n<newline>\n", - "\n\n", - - "&%s;", - - "<em>", - "</em>", - "<bf>", - "</bf>", - "<tt>", - "</tt>", - - "\n</article>\n" -}; - -CHARMAP_ENTRY charmap[] = -{{'Æ', "AElig"}, - {'Á', "Aacute"}, - {'Â', "Acirc"}, - {'À', "Agrave"}, - {'Ã', "Atilde"}, - {'Ç', "Ccedil"}, - {'É', "Eacute"}, - {'È', "Egrave"}, - {'Ë', "Euml"}, - {'Í', "Iacute"}, - {'Î', "Icirc"}, - {'Ì', "Igrave"}, - {'Ï', "Iuml"}, - {'Ñ', "Ntilde"}, - {'Ó', "Oacute"}, - {'Ô', "Ocirc"}, - {'Ò', "Ograve"}, - {'Ø', "Oslash"}, - {'Ú', "Uacute"}, - {'Ù', "Ugrave"}, - {'Ý', "Yacute"}, - {'á', "aacute"}, - {'â', "acirc"}, - {'æ', "aelig"}, - {'à', "agrave"}, - {'å', "aring"}, - {'ã', "atilde"}, - {'ç', "ccedil"}, - {'é', "eacute"}, - {'ê', "ecirc"}, - {'è', "egrave"}, - {'ë', "euml"}, - {'í', "iacute"}, - {'î', "icirc"}, - {'ì', "igrave"}, - {'ï', "iuml"}, - {'ñ', "ntilde"}, - {'ó', "oacute"}, - {'ÿ', "yuml"}, - {'ô', "ocirc"}, - {'ò', "ograve"}, - {'ø', "oslash"}, - {'õ', "otilde"}, - {'ú', "uacute"}, - {'û', "ucirc"}, - {'ù', "ugrave"}, - {'ý', "yacute"}, - {'<', "lt"}, - {'&', "amp"}, - {'"', "dquot"}, - {'#', "num"}, - {'%', "percnt"}, - {'\'', "quot"}, -#if 0 - {'(', "lpar"}, - {')', "rpar"}, - {'*', "ast"}, - {'+', "plus"}, - {',', "comma"}, - {'-', "hyphen"}, - {':', "colon"}, - {';', "semi"}, - {'=', "equals"}, - {'@', "commat"}, - {'[', "lsqb"}, - {']', "rsqb"}, - {'^', "circ"}, - {'_', "lowbar"}, - {'{', "lcub"}, - {'|', "verbar"}, - {'}', "rcub"}, - {'~', "tilde"}, -#endif - {'\\', "bsol"}, - {'$', "dollar"}, - {'Ä', "Auml"}, - {'ä', "auml"}, - {'Ö', "Ouml"}, - {'ö', "ouml"}, - {'Ü', "Uuml"}, - {'ü', "uuml"}, - {'ß', "szlig"}, - {'>', "gt"}, - {'§', "sect"}, - {'¶', "para"}, - {'©', "copy"}, - {'¡', "iexcl"}, - {'¿', "iquest"}, - {'¢', "cent"}, - {'£', "pound"}, - {'×', "times"}, - {'±', "plusmn"}, - {'÷', "divide"}, - {'¬', "not"}, - {'µ', "mu"}, - {0,0}}; - -/*********************************************************************** - * - * print_text - */ - -static void print_text(const char *p) -{ - int i; - - for (; *p; p++) - { - for (i = 0; charmap[i].ch; i++) - if (*p == charmap[i].ch) - { - printf(format.special_char, charmap[i].subst); - break; - } - if (!charmap[i].ch) - printf("%c", *p); - } -} - -/*********************************************************************** - * - * main - */ - -int main(int argc, char **argv) -{ - HLPFILE *hlpfile; - HLPFILE_PAGE *page; - HLPFILE_PARAGRAPH *paragraph; - time_t t; - char date[50]; - char *filename; - - hlpfile = HLPFILE_ReadHlpFile(argc > 1 ? argv[1] : ""); - - if (!hlpfile) return 2; - - time(&t); - strftime(date, sizeof(date), "%x", localtime(&t)); - filename = strrchr(hlpfile->lpszPath, '/'); - if (filename) filename++; - else filename = hlpfile->lpszPath; - - /* Header */ - printf(format.header1); - print_text(hlpfile->lpszTitle); - printf(format.header2, filename, date); - - for (page = hlpfile->first_page; page; page = page->next) - { - paragraph = page->first_paragraph; - if (!paragraph) continue; - - /* Section */ - printf(format.section); - for (; paragraph && !paragraph->u.text.wVSpace; paragraph = paragraph->next) - print_text(paragraph->u.text.lpszText); - printf(format.first_paragraph); - - for (; paragraph; paragraph = paragraph->next) - { - switch (paragraph->cookie) - { - case para_normal_text: - case para_debug_text: - /* New line; new paragraph */ - if (paragraph->u.text.wVSpace == 1) - printf(format.newline); - else if (paragraph->u.text.wVSpace > 1) - printf(format.next_paragraph); - - if (paragraph->u.text.wFont) - printf(format.begin_boldface); - - print_text(paragraph->u.text.lpszText); - - if (paragraph->u.text.wFont) - printf(format.end_boldface); - break; - case para_bitmap: - case para_metafile: - break; - } - } - } - - printf(format.tail); - - return 0; -} - -/*********************************************************************** - * - * Substitutions for some WINELIB functions - */ - -static FILE *file = 0; - -HFILE WINAPI OpenFile( LPCSTR path, OFSTRUCT *ofs, UINT mode ) -{ - file = *path ? fopen(path, "r") : stdin; - return file ? (HFILE)1 : HFILE_ERROR; -} - -HFILE WINAPI _lclose( HFILE hFile ) -{ - fclose(file); - return 0; -} - -LONG WINAPI _hread( HFILE hFile, LPVOID buffer, LONG count ) -{ - return fread(buffer, 1, count, file); -} - -HANDLE WINAPI GetProcessHeap(void) -{ - return 0; -} - -void* WINAPI HeapAlloc( HANDLE heap, DWORD flags, SIZE_T size ) -{ - assert(flags == 0); - return malloc(size); -} - -void* WINAPI HeapReAlloc( HANDLE heap, DWORD flags, void* ptr, SIZE_T size) -{ - assert(flags == 0); - return realloc(ptr, size); -} - -BOOL WINAPI HeapFree( HGLOBAL handle, DWORD flags, void* ptr ) -{ - free(ptr); - return TRUE; -} - -char __wine_dbch_winhelp[] = "\003winhelp"; - -int wine_dbg_log( int cls, const char *channel, const char *func, const char *format, ... ) -{ - return 1; -} - -const char *wine_dbgstr_a( const char *s ) -{ - return NULL; -} - -HBITMAP WINAPI CreateDIBitmap(HDC hdc, CONST BITMAPINFOHEADER* bih, DWORD a, CONST void* ptr, CONST BITMAPINFO* bi, UINT c) -{ - return 0; -} - -HMETAFILE WINAPI SetMetaFileBitsEx(UINT cbBuffer, CONST BYTE *lpbBuffer) -{ - return 0; -} - -BOOL WINAPI DeleteMetaFile(HMETAFILE h) -{ - return 0; -} - -HDC WINAPI GetDC(HWND h) -{ - return 0; -} - -int WINAPI ReleaseDC(HWND h, HDC hdc) -{ - return 0; -} - -BOOL WINAPI DeleteObject(HGDIOBJ h) -{ - return TRUE; -} -/* - * String functions - * - * Copyright 1993 Yngvi Sigurjonsson (yngvi@hafro.is) - */ - -INT WINAPI lstrcmp( LPCSTR str1, LPCSTR str2 ) -{ - return strcmp( str1, str2 ); -} - -INT WINAPI lstrcmpi( LPCSTR str1, LPCSTR str2 ) -{ - INT res; - - while (*str1) - { - if ((res = toupper(*str1) - toupper(*str2)) != 0) return res; - str1++; - str2++; - } - return toupper(*str1) - toupper(*str2); -} - -INT WINAPI lstrlen( LPCSTR str ) -{ - return strlen(str); -} - -LPSTR WINAPI lstrcpyA( LPSTR dst, LPCSTR src ) -{ - if (!src || !dst) return NULL; - strcpy( dst, src ); - return dst; -} - -LPSTR WINAPI lstrcpynA( LPSTR dst, LPCSTR src, INT n ) -{ - LPSTR d = dst; - LPCSTR s = src; - UINT count = n; - - while ((count > 1) && *s) - { - count--; - *d++ = *s++; - } - if (count) *d = 0; - return dst; -}