about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>2009-06-23 23:06:04 -0400
committerThomas E. Dickey <dickey@invisible-island.net>2009-06-23 23:06:04 -0400
commitd4b69392b9556d13eda9c99a5c53dc90ee2357a7 (patch)
treec3ef21a4b98fcc8b86ff12e0fe3bce744c0bf98a
parent5101937aad7336c927af766909a0c794f198c59d (diff)
downloadlynx-snapshots-d4b69392b9556d13eda9c99a5c53dc90ee2357a7.tar.gz
snapshot of project "lynx", label v2-8-7pre_5c
-rw-r--r--BUILD/VS2003/develop.bat2
-rw-r--r--BUILD/VS2003/lynx/lynx.vcproj4
-rw-r--r--BUILD/VS2005X/develop.bat2
-rw-r--r--BUILD/VS2005X/lynx/lynx.vcproj12
-rw-r--r--BUILD/VS2008X/develop.bat2
-rw-r--r--BUILD/VS2008X/lynx/lynx.vcproj12
-rw-r--r--CHANGES4
-rw-r--r--lynx_help/Lynx_users_guide.html20
-rw-r--r--src/HTML.c96
-rw-r--r--src/LYCharUtils.c14
10 files changed, 55 insertions, 113 deletions
diff --git a/BUILD/VS2003/develop.bat b/BUILD/VS2003/develop.bat
index 7a8a17da..93509a64 100644
--- a/BUILD/VS2003/develop.bat
+++ b/BUILD/VS2003/develop.bat
@@ -1,5 +1,5 @@
 @echo off

-@rem $Id: develop.bat,v 1.1 2007/06/29 00:22:25 tom Exp $

+@rem $LynxId: develop.bat,v 1.2 2007/06/29 00:22:25 tom Exp $

 @rem ensure that all IDE files are writable

 

 attrib -r *.bat /s

diff --git a/BUILD/VS2003/lynx/lynx.vcproj b/BUILD/VS2003/lynx/lynx.vcproj
index 2b8c888c..a75648f0 100644
--- a/BUILD/VS2003/lynx/lynx.vcproj
+++ b/BUILD/VS2003/lynx/lynx.vcproj
@@ -20,7 +20,7 @@
 				Name="VCCLCompilerTool"

 				Optimization="0"

 				AdditionalIncludeDirectories=".;..\..\..;..\..\..\lib;..\..\..\WWW\Library\Implementation;..\..\..\src\chrtrans;..\..\..\src"

-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				MinimalRebuild="TRUE"

 				BasicRuntimeChecks="3"

 				RuntimeLibrary="5"

@@ -71,7 +71,7 @@
 			<Tool

 				Name="VCCLCompilerTool"

 				AdditionalIncludeDirectories=".;..\..\..;..\..\..\lib;..\..\..\WWW\Library\Implementation;..\..\..\src\chrtrans;..\..\..\src"

-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				RuntimeLibrary="4"

 				UsePrecompiledHeader="0"

 				WarningLevel="3"

diff --git a/BUILD/VS2005X/develop.bat b/BUILD/VS2005X/develop.bat
index 7a8a17da..93509a64 100644
--- a/BUILD/VS2005X/develop.bat
+++ b/BUILD/VS2005X/develop.bat
@@ -1,5 +1,5 @@
 @echo off

-@rem $Id: develop.bat,v 1.1 2007/06/29 00:22:25 tom Exp $

+@rem $LynxId: develop.bat,v 1.2 2007/06/29 00:22:25 tom Exp $

 @rem ensure that all IDE files are writable

 

 attrib -r *.bat /s

diff --git a/BUILD/VS2005X/lynx/lynx.vcproj b/BUILD/VS2005X/lynx/lynx.vcproj
index e3a4e0ac..032e3b73 100644
--- a/BUILD/VS2005X/lynx/lynx.vcproj
+++ b/BUILD/VS2005X/lynx/lynx.vcproj
@@ -41,7 +41,7 @@
 				Name="VCCLCompilerTool"

 				Optimization="0"

 				AdditionalIncludeDirectories="..\lynx;&quot;$(SolutionDir)..\..\..&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;;&quot;$(SolutionDir)..\..\..\WWW\Library\Implementation&quot;;&quot;$(SolutionDir)..\..\..\src&quot;;&quot;$(SolutionDir)..\..\..\src\chrtrans&quot;"

-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				GeneratePreprocessedFile="0"

 				MinimalRebuild="true"

 				BasicRuntimeChecks="3"

@@ -62,9 +62,9 @@
 			/>

 			<Tool

 				Name="VCLinkerTool"

-				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib"

+				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib advapi32.lib"

 				LinkIncremental="2"

-				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

+				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)\lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

 				IgnoreDefaultLibraryNames="libc;libcmt"

 				GenerateDebugInformation="true"

 				SubSystem="1"

@@ -121,7 +121,7 @@
 			<Tool

 				Name="VCCLCompilerTool"

 				AdditionalIncludeDirectories="..\lynx;&quot;$(SolutionDir)..\..\..&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;;&quot;$(SolutionDir)..\..\..\WWW\Library\Implementation&quot;;&quot;$(SolutionDir)..\..\..\src&quot;;&quot;$(SolutionDir)..\..\..\src\chrtrans&quot;"

-				PreprocessorDefinitions="WIN32;_CONSOLE;_MBCS;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;_CONSOLE;_MBCS;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				RuntimeLibrary="2"

 				UsePrecompiledHeader="0"

 				WarningLevel="3"

@@ -139,9 +139,9 @@
 			/>

 			<Tool

 				Name="VCLinkerTool"

-				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib"

+				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib advapi32.lib"

 				LinkIncremental="1"

-				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

+				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)\lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

 				IgnoreDefaultLibraryNames="libc;libcmt"

 				GenerateDebugInformation="true"

 				SubSystem="1"

diff --git a/BUILD/VS2008X/develop.bat b/BUILD/VS2008X/develop.bat
index 7a8a17da..93509a64 100644
--- a/BUILD/VS2008X/develop.bat
+++ b/BUILD/VS2008X/develop.bat
@@ -1,5 +1,5 @@
 @echo off

-@rem $Id: develop.bat,v 1.1 2007/06/29 00:22:25 tom Exp $

+@rem $LynxId: develop.bat,v 1.2 2007/06/29 00:22:25 tom Exp $

 @rem ensure that all IDE files are writable

 

 attrib -r *.bat /s

diff --git a/BUILD/VS2008X/lynx/lynx.vcproj b/BUILD/VS2008X/lynx/lynx.vcproj
index e3a4e0ac..032e3b73 100644
--- a/BUILD/VS2008X/lynx/lynx.vcproj
+++ b/BUILD/VS2008X/lynx/lynx.vcproj
@@ -41,7 +41,7 @@
 				Name="VCCLCompilerTool"

 				Optimization="0"

 				AdditionalIncludeDirectories="..\lynx;&quot;$(SolutionDir)..\..\..&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;;&quot;$(SolutionDir)..\..\..\WWW\Library\Implementation&quot;;&quot;$(SolutionDir)..\..\..\src&quot;;&quot;$(SolutionDir)..\..\..\src\chrtrans&quot;"

-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				GeneratePreprocessedFile="0"

 				MinimalRebuild="true"

 				BasicRuntimeChecks="3"

@@ -62,9 +62,9 @@
 			/>

 			<Tool

 				Name="VCLinkerTool"

-				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib"

+				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib advapi32.lib"

 				LinkIncremental="2"

-				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

+				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)\lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

 				IgnoreDefaultLibraryNames="libc;libcmt"

 				GenerateDebugInformation="true"

 				SubSystem="1"

@@ -121,7 +121,7 @@
 			<Tool

 				Name="VCCLCompilerTool"

 				AdditionalIncludeDirectories="..\lynx;&quot;$(SolutionDir)..\..\..&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;;&quot;$(SolutionDir)..\..\..\WWW\Library\Implementation&quot;;&quot;$(SolutionDir)..\..\..\src&quot;;&quot;$(SolutionDir)..\..\..\src\chrtrans&quot;"

-				PreprocessorDefinitions="WIN32;_CONSOLE;_MBCS;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF"

+				PreprocessorDefinitions="WIN32;_CONSOLE;_MBCS;HAVE_CONFIG_H;DONT_HAVE_TM_GMTOFF;_WIN_CC"

 				RuntimeLibrary="2"

 				UsePrecompiledHeader="0"

 				WarningLevel="3"

@@ -139,9 +139,9 @@
 			/>

 			<Tool

 				Name="VCLinkerTool"

-				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib"

+				AdditionalDependencies="pdcurses.lib zlib.lib wsock32.lib user32.lib advapi32.lib"

 				LinkIncremental="1"

-				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

+				AdditionalLibraryDirectories="&quot;$(VcInstallDir)lib&quot;;&quot;$(SolutionDir)\lib&quot;;&quot;$(SolutionDir)..\..\..\lib&quot;"

 				IgnoreDefaultLibraryNames="libc;libcmt"

 				GenerateDebugInformation="true"

 				SubSystem="1"

diff --git a/CHANGES b/CHANGES
index 158a090d..3e7ef426 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,9 @@
--- $LynxId: CHANGES,v 1.417 2009/06/07 18:35:23 tom Exp $
+-- $LynxId: CHANGES,v 1.418 2009/06/23 19:24:16 tom Exp $
 ===============================================================================
 Changes since Lynx 2.8 release
 ===============================================================================
 
-2009-06-?? (2.8.7pre.6)
+2009-06-23 (2.8.7pre.6)
 * update lynx.pot file -TD
 * add "Bad HTML messages" to Options menu, letting the user disable the
   warning message, write the detailed messages to the LYNXMESSAGES: status
diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html
index 0f9524e5..81649897 100644
--- a/lynx_help/Lynx_users_guide.html
+++ b/lynx_help/Lynx_users_guide.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 3.0//EN">
-<!-- $LynxId: Lynx_users_guide.html,v 1.104 2009/05/25 21:23:26 tom Exp $ -->
+<!-- $LynxId: Lynx_users_guide.html,v 1.105 2009/06/23 19:42:12 tom Exp $ -->
 <html>
 <head>
 <title>Lynx Users Guide v2.8.6</title>
@@ -533,6 +533,7 @@ HREF="keystrokes/option_help.html">HELP!</A>
   Show scrollbar                   : [OFF]
   Popups for select fields         : [ON.]
   HTML error recovery (!)          : [strict (SortaSGML mode)]
+  Bad HTML messages (!)            : [Warn, point to trace-file]
   Show images (!)                  : [as labels]
   Verbose images                   : [OFF..........]
 
@@ -643,6 +644,21 @@ return to Lynx or the '<em>&gt;</em>' command to save the options to a
             your browsing history.
             Use this setting to enable or disable the feature.
 
+   <dt>Bad HTML messages
+        <dd>Suppress or redirect Lynx's messages about "Bad HTML":
+        <dl>
+        <dt>Ignore
+            <dd>do not warn; no details are written to the trace-file.
+        <dt>Add to trace-file
+            <dd>add the detailed warning message to the trace-file.
+        <dt>Add to LYNXMESSAGES
+            <dd>add the detailed warning message to the message page at
+                "LYNXMESSAGES:".
+        <dt>Warn, point to trace-file
+            <dd>show a warning message on the status line; the complete
+                message is written to the trace-file.
+        </dl>
+
    <dt>Bookmark file
         <dd>When multi-bookmarks is OFF, this is the filename and location
             of your default personal bookmark file.  Enter '<em>B</em>' to
@@ -782,7 +798,7 @@ return to Lynx or the '<em>&gt;</em>' command to save the options to a
           </dl>
 
    <dt>Local directory sort order<dd>
-          The Options Form also allows you to sort by the file attributes.
+          <dd>The Options Form also allows you to sort by the file attributes.
           <dl>
              <dt>By name
                 <dd>by filename (the default)
diff --git a/src/HTML.c b/src/HTML.c
index f34670ef..2ed4a7b3 100644
--- a/src/HTML.c
+++ b/src/HTML.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: HTML.c,v 1.128 2009/06/07 19:05:55 tom Exp $
+ * $LynxId: HTML.c,v 1.129 2009/06/23 19:47:33 tom Exp $
  *
  *		Structured stream to Rich hypertext converter
  *		============================================
@@ -4616,11 +4616,7 @@ static int HTML_start_element(HTStructured * me, int element_number,
 	     */
 	    if (me->inTEXTAREA) {
 		if (LYBadHTML(me)) {
-		    char *msg = NULL;
-
-		    HTSprintf0(&msg, "Bad HTML: Missing TEXTAREA end tag.\n");
-		    LYShowBadHTML(msg);
-		    FREE(msg);
+		    LYShowBadHTML("Bad HTML: Missing TEXTAREA end tag.\n");
 		}
 	    }
 
@@ -5077,12 +5073,7 @@ static int HTML_start_element(HTStructured * me, int element_number,
 	 */
 	if (me->inSELECT) {
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg,
-			   "Bad HTML: SELECT start tag in SELECT element.  Faking SELECT end tag. *****\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: SELECT start tag in SELECT element.  Faking SELECT end tag. *****\n");
 	    }
 	    if (me->sp->tag_number != HTML_SELECT) {
 		SET_SKIP_STACK(HTML_SELECT);
@@ -5111,12 +5102,7 @@ static int HTML_start_element(HTStructured * me, int element_number,
 	     */
 	    if (!me->inSELECT) {
 		if (LYBadHTML(me)) {
-		    char *msg = NULL;
-
-		    HTSprintf0(&msg,
-			       "Bad HTML: OPTION tag not within SELECT tag\n");
-		    LYShowBadHTML(msg);
-		    FREE(msg);
+		    LYShowBadHTML("Bad HTML: OPTION tag not within SELECT tag\n");
 		}
 
 		/*
@@ -5870,11 +5856,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
      */
     if (me->inTEXTAREA && element_number != HTML_TEXTAREA) {
 	if (LYBadHTML(me)) {
-	    char *msg = NULL;
-
-	    HTSprintf0(&msg, "Bad HTML: Missing TEXTAREA end tag\n");
-	    LYShowBadHTML(msg);
-	    FREE(msg);
+	    LYShowBadHTML("Bad HTML: Missing TEXTAREA end tag\n");
 	}
     }
 
@@ -6520,12 +6502,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 		    }
 		} else {
 		    if (LYBadHTML(me)) {
-			char *msg = NULL;
-
-			HTSprintf0(&msg,
-				   "Bad HTML: Unmatched OBJECT start and end tags.  Discarding content.\n");
-			LYShowBadHTML(msg);
-			FREE(msg);
+			LYShowBadHTML("Bad HTML: Unmatched OBJECT start and end tags.  Discarding content.\n");
 		    }
 		    goto End_Object;
 		}
@@ -6764,11 +6741,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 	 */
 	if (!me->inFORM) {
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg, "Bad HTML: Unmatched FORM end tag\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: Unmatched FORM end tag\n");
 	    }
 	}
 	EMIT_IFDEF_EXP_JUSTIFY_ELTS(form_in_htext = FALSE);
@@ -6784,12 +6757,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 	 */
 	if (me->inSELECT) {
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg,
-			   "Bad HTML: Open SELECT at FORM end. Faking SELECT end tag. *****\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: Open SELECT at FORM end. Faking SELECT end tag. *****\n");
 	    }
 	    if (me->sp->tag_number != HTML_SELECT) {
 		SET_SKIP_STACK(HTML_SELECT);
@@ -6842,11 +6810,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 	     */
 	    if (!me->inTEXTAREA) {
 		if (LYBadHTML(me)) {
-		    char *msg = NULL;
-
-		    HTSprintf0(&msg, "Bad HTML: Unmatched TEXTAREA end tag\n");
-		    LYShowBadHTML(msg);
-		    FREE(msg);
+		    LYShowBadHTML("Bad HTML: Unmatched TEXTAREA end tag\n");
 		}
 		break;
 	    }
@@ -7043,12 +7007,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 	     */
 	    if (!me->inSELECT) {
 		if (LYBadHTML(me)) {
-		    char *msg = NULL;
-
-		    HTSprintf0(&msg,
-			       "Bad HTML: Unmatched SELECT end tag *****\n");
-		    LYShowBadHTML(msg);
-		    FREE(msg);
+		    LYShowBadHTML("Bad HTML: Unmatched SELECT end tag *****\n");
 		}
 		break;
 	    }
@@ -7068,12 +7027,7 @@ static int HTML_end_element(HTStructured * me, int element_number,
 	     */
 	    if (!me->inFORM) {
 		if (LYBadHTML(me)) {
-		    char *msg = NULL;
-
-		    HTSprintf0(&msg,
-			       "Bad HTML: SELECT end tag not within FORM element *****\n");
-		    LYShowBadHTML(msg);
-		    FREE(msg);
+		    LYShowBadHTML("Bad HTML: SELECT end tag not within FORM element *****\n");
 		}
 		/*
 		 * Hopefully won't crash, so we'll ignore it.  - kw
@@ -7386,12 +7340,7 @@ static void HTML_free(HTStructured * me)
 	     * - kw
 	     */
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg,
-			   "Bad HTML: SELECT or OPTION not ended properly *****\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: SELECT or OPTION not ended properly *****\n");
 	    }
 	    HTChunkTerminate(&me->option);
 	    /*
@@ -7410,12 +7359,7 @@ static void HTML_free(HTStructured * me)
 	     * - kw
 	     */
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg,
-			   "Bad HTML: TEXTAREA not used properly *****\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: TEXTAREA not used properly *****\n");
 	    }
 	    HTChunkTerminate(&me->textarea);
 	    /*
@@ -7461,12 +7405,7 @@ static void HTML_free(HTStructured * me)
 	 * of a still-open form, something must have gone very wrong.  - kw
 	 */
 	if (LYBadHTML(me)) {
-	    char *msg = NULL;
-
-	    HTSprintf0(&msg,
-		       "Bad HTML: SELECT or OPTION not ended properly *****\n");
-	    LYShowBadHTML(msg);
-	    FREE(msg);
+	    LYShowBadHTML("Bad HTML: SELECT or OPTION not ended properly *****\n");
 	}
 	if (TRACE) {
 	    HTChunkTerminate(&me->option);
@@ -7482,12 +7421,7 @@ static void HTML_free(HTStructured * me)
 	 * kw
 	 */
 	if (LYBadHTML(me)) {
-	    char *msg = NULL;
-
-	    HTSprintf0(&msg,
-		       "Bad HTML: TEXTAREA not used properly *****\n");
-	    LYShowBadHTML(msg);
-	    FREE(msg);
+	    LYShowBadHTML("Bad HTML: TEXTAREA not used properly *****\n");
 	}
 	if (TRACE) {
 	    HTChunkTerminate(&me->textarea);
diff --git a/src/LYCharUtils.c b/src/LYCharUtils.c
index 2e69073c..c9d8b714 100644
--- a/src/LYCharUtils.c
+++ b/src/LYCharUtils.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: LYCharUtils.c,v 1.101 2009/06/07 16:40:09 tom Exp $
+ * $LynxId: LYCharUtils.c,v 1.102 2009/06/23 19:44:06 tom Exp $
  *
  *  Functions associated with LYCharSets.c and the Lynx version of HTML.c - FM
  *  ==========================================================================
@@ -2738,11 +2738,7 @@ void LYHandleSELECT(HTStructured * me, const BOOL *present,
 	 */
 	if (me->inTEXTAREA) {
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg, "Bad HTML: Missing TEXTAREA end tag\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: Missing TEXTAREA end tag\n");
 	    }
 	}
 
@@ -2818,11 +2814,7 @@ void LYHandleSELECT(HTStructured * me, const BOOL *present,
 	 */
 	if (!me->inSELECT) {
 	    if (LYBadHTML(me)) {
-		char *msg = NULL;
-
-		HTSprintf0(&msg, "Bad HTML: Unmatched SELECT end tag\n");
-		LYShowBadHTML(msg);
-		FREE(msg);
+		LYShowBadHTML("Bad HTML: Unmatched SELECT end tag\n");
 	    }
 	    return;
 	}