corinthia-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject [35/51] [partial] incubator-corinthia git commit: Moved 3rdparty to platform This is the first part of isolating 3rdparty within platform. The idea is that only platform.h should be used outside platform platform.h might contain includes to internal file
Date Sun, 21 Dec 2014 12:35:29 GMT
http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/ac70cb0e/DocFormats/3rdparty/external/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
----------------------------------------------------------------------
diff --git a/DocFormats/3rdparty/external/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html b/DocFormats/3rdparty/external/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
deleted file mode 100644
index 64948f8..0000000
--- a/DocFormats/3rdparty/external/w3c-tidy-html5/htmldoc/api/tidy_8h_source.html
+++ /dev/null
@@ -1,1177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>HTML Tidy: tidy.h Source File</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
-  $(document).ready(initResizable);
-</script>
-
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">HTML Tidy
-   &#160;<span id="projectnumber">0.1</span>
-   </div>
-   
-  </td>
-  
-  
-  
-   
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.8.0 -->
-</div>
-<div id="side-nav" class="ui-resizable side-nav-resizable">
-  <div id="nav-tree">
-    <div id="nav-tree-contents">
-    </div>
-  </div>
-  <div id="splitbar" style="-moz-user-select:none;" 
-       class="ui-resizable-handle">
-  </div>
-</div>
-<script type="text/javascript">
-  initNavTree('tidy_8h.html','');
-</script>
-<div id="doc-content">
-<div class="header">
-  <div class="headertitle">
-<div class="title">tidy.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="tidy_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TIDY_H__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TIDY_H__</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00004"></a>00004 <span class="comment">/** @file tidy.h - Defines HTML Tidy API implemented by tidy library.</span>
-<a name="l00005"></a>00005 <span class="comment"></span>
-<a name="l00006"></a>00006 <span class="comment">  Public interface is const-correct and doesn&#39;t explicitly depend</span>
-<a name="l00007"></a>00007 <span class="comment">  on any globals.  Thus, thread-safety may be introduced w/out</span>
-<a name="l00008"></a>00008 <span class="comment">  changing the interface.</span>
-<a name="l00009"></a>00009 <span class="comment"></span>
-<a name="l00010"></a>00010 <span class="comment">  Looking ahead to a C++ wrapper, C functions always pass </span>
-<a name="l00011"></a>00011 <span class="comment">  this-equivalent as 1st arg.</span>
-<a name="l00012"></a>00012 <span class="comment"></span>
-<a name="l00013"></a>00013 <span class="comment"></span>
-<a name="l00014"></a>00014 <span class="comment">  Copyright (c) 1998-2008 World Wide Web Consortium</span>
-<a name="l00015"></a>00015 <span class="comment">  (Massachusetts Institute of Technology, European Research </span>
-<a name="l00016"></a>00016 <span class="comment">  Consortium for Informatics and Mathematics, Keio University).</span>
-<a name="l00017"></a>00017 <span class="comment">  All Rights Reserved.</span>
-<a name="l00018"></a>00018 <span class="comment"></span>
-<a name="l00019"></a>00019 <span class="comment">  CVS Info :</span>
-<a name="l00020"></a>00020 <span class="comment"></span>
-<a name="l00021"></a>00021 <span class="comment">    $Author: arnaud02 $ </span>
-<a name="l00022"></a>00022 <span class="comment">    $Date: 2008/04/22 11:00:42 $ </span>
-<a name="l00023"></a>00023 <span class="comment">    $Revision: 1.22 $ </span>
-<a name="l00024"></a>00024 <span class="comment"></span>
-<a name="l00025"></a>00025 <span class="comment">  Contributing Author(s):</span>
-<a name="l00026"></a>00026 <span class="comment"></span>
-<a name="l00027"></a>00027 <span class="comment">     Dave Raggett &lt;dsr@w3.org&gt;</span>
-<a name="l00028"></a>00028 <span class="comment"></span>
-<a name="l00029"></a>00029 <span class="comment">  The contributing author(s) would like to thank all those who</span>
-<a name="l00030"></a>00030 <span class="comment">  helped with testing, bug fixes and suggestions for improvements. </span>
-<a name="l00031"></a>00031 <span class="comment">  This wouldn&#39;t have been possible without your help.</span>
-<a name="l00032"></a>00032 <span class="comment"></span>
-<a name="l00033"></a>00033 <span class="comment">  COPYRIGHT NOTICE:</span>
-<a name="l00034"></a>00034 <span class="comment"> </span>
-<a name="l00035"></a>00035 <span class="comment">  This software and documentation is provided &quot;as is,&quot; and</span>
-<a name="l00036"></a>00036 <span class="comment">  the copyright holders and contributing author(s) make no</span>
-<a name="l00037"></a>00037 <span class="comment">  representations or warranties, express or implied, including</span>
-<a name="l00038"></a>00038 <span class="comment">  but not limited to, warranties of merchantability or fitness</span>
-<a name="l00039"></a>00039 <span class="comment">  for any particular purpose or that the use of the software or</span>
-<a name="l00040"></a>00040 <span class="comment">  documentation will not infringe any third party patents,</span>
-<a name="l00041"></a>00041 <span class="comment">  copyrights, trademarks or other rights. </span>
-<a name="l00042"></a>00042 <span class="comment"></span>
-<a name="l00043"></a>00043 <span class="comment">  The copyright holders and contributing author(s) will not be held</span>
-<a name="l00044"></a>00044 <span class="comment">  liable for any direct, indirect, special or consequential damages</span>
-<a name="l00045"></a>00045 <span class="comment">  arising out of any use of the software or documentation, even if</span>
-<a name="l00046"></a>00046 <span class="comment">  advised of the possibility of such damage.</span>
-<a name="l00047"></a>00047 <span class="comment"></span>
-<a name="l00048"></a>00048 <span class="comment">  Permission is hereby granted to use, copy, modify, and distribute</span>
-<a name="l00049"></a>00049 <span class="comment">  this source code, or portions hereof, documentation and executables,</span>
-<a name="l00050"></a>00050 <span class="comment">  for any purpose, without fee, subject to the following restrictions:</span>
-<a name="l00051"></a>00051 <span class="comment"></span>
-<a name="l00052"></a>00052 <span class="comment">  1. The origin of this source code must not be misrepresented.</span>
-<a name="l00053"></a>00053 <span class="comment">  2. Altered versions must be plainly marked as such and must</span>
-<a name="l00054"></a>00054 <span class="comment">     not be misrepresented as being the original source.</span>
-<a name="l00055"></a>00055 <span class="comment">  3. This Copyright notice may not be removed or altered from any</span>
-<a name="l00056"></a>00056 <span class="comment">     source or altered source distribution.</span>
-<a name="l00057"></a>00057 <span class="comment"> </span>
-<a name="l00058"></a>00058 <span class="comment">  The copyright holders and contributing author(s) specifically</span>
-<a name="l00059"></a>00059 <span class="comment">  permit, without fee, and encourage the use of this source code</span>
-<a name="l00060"></a>00060 <span class="comment">  as a component for supporting the Hypertext Markup Language in</span>
-<a name="l00061"></a>00061 <span class="comment">  commercial products. If you use this source code in a product,</span>
-<a name="l00062"></a>00062 <span class="comment">  acknowledgment is not required but would be appreciated.</span>
-<a name="l00063"></a>00063 <span class="comment"></span>
-<a name="l00064"></a>00064 <span class="comment"></span>
-<a name="l00065"></a>00065 <span class="comment">  Created 2001-05-20 by Charles Reitzel</span>
-<a name="l00066"></a>00066 <span class="comment">  Updated 2002-07-01 by Charles Reitzel - 1st Implementation</span>
-<a name="l00067"></a>00067 <span class="comment"></span>
-<a name="l00068"></a>00068 <span class="comment">*/</span>
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070 <span class="preprocessor">#include &quot;platform.h&quot;</span>
-<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;tidyenum.h&quot;</span>
-<a name="l00072"></a>00072 
-<a name="l00073"></a>00073 <span class="preprocessor">#ifdef __cplusplus</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
-<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00077"></a>00077 <span class="comment">/** @defgroup Opaque Opaque Types</span>
-<a name="l00078"></a>00078 <span class="comment">**</span>
-<a name="l00079"></a>00079 <span class="comment">** Cast to implementation types within lib.</span>
-<a name="l00080"></a>00080 <span class="comment">** Reduces inter-dependencies/conflicts w/ application code.</span>
-<a name="l00081"></a>00081 <span class="comment">** @{</span>
-<a name="l00082"></a>00082 <span class="comment">*/</span>
-<a name="l00083"></a>00083 <span class="comment"></span>
-<a name="l00084"></a>00084 <span class="comment">/** @struct TidyDoc</span>
-<a name="l00085"></a>00085 <span class="comment">**  Opaque document datatype</span>
-<a name="l00086"></a>00086 <span class="comment">*/</span>
-<a name="l00087"></a>00087 opaque_type( <a class="code" href="structTidyDoc.html">TidyDoc</a> );
-<a name="l00088"></a>00088 <span class="comment"></span>
-<a name="l00089"></a>00089 <span class="comment">/** @struct TidyOption</span>
-<a name="l00090"></a>00090 <span class="comment">**  Opaque option datatype</span>
-<a name="l00091"></a>00091 <span class="comment">*/</span>
-<a name="l00092"></a>00092 opaque_type( <a class="code" href="structTidyOption.html">TidyOption</a> );
-<a name="l00093"></a>00093 <span class="comment"></span>
-<a name="l00094"></a>00094 <span class="comment">/** @struct TidyNode</span>
-<a name="l00095"></a>00095 <span class="comment">**  Opaque node datatype</span>
-<a name="l00096"></a>00096 <span class="comment">*/</span>
-<a name="l00097"></a>00097 opaque_type( <a class="code" href="structTidyNode.html">TidyNode</a> );
-<a name="l00098"></a>00098 <span class="comment"></span>
-<a name="l00099"></a>00099 <span class="comment">/** @struct TidyAttr</span>
-<a name="l00100"></a>00100 <span class="comment">**  Opaque attribute datatype</span>
-<a name="l00101"></a>00101 <span class="comment">*/</span>
-<a name="l00102"></a>00102 opaque_type( <a class="code" href="structTidyAttr.html">TidyAttr</a> );
-<a name="l00103"></a>00103 <span class="comment"></span>
-<a name="l00104"></a>00104 <span class="comment">/** @} end Opaque group */</span>
-<a name="l00105"></a>00105 
-<a name="l00106"></a>00106 TIDY_STRUCT <span class="keyword">struct </span><a class="code" href="struct__TidyBuffer.html">_TidyBuffer</a>;
-<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyBuffer.html">_TidyBuffer</a> <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>;
-<a name="l00108"></a>00108 
-<a name="l00109"></a>00109 <span class="comment"></span>
-<a name="l00110"></a>00110 <span class="comment">/** @defgroup Memory  Memory Allocation</span>
-<a name="l00111"></a>00111 <span class="comment">**</span>
-<a name="l00112"></a>00112 <span class="comment">** Tidy uses a user provided allocator for all</span>
-<a name="l00113"></a>00113 <span class="comment">** memory allocations.  If this allocator is</span>
-<a name="l00114"></a>00114 <span class="comment">** not provided, then a default allocator is</span>
-<a name="l00115"></a>00115 <span class="comment">** used which simply wraps standard C malloc/free</span>
-<a name="l00116"></a>00116 <span class="comment">** calls.  These wrappers call the panic function</span>
-<a name="l00117"></a>00117 <span class="comment">** upon any failure.  The default panic function</span>
-<a name="l00118"></a>00118 <span class="comment">** prints an out of memory message to stderr, and</span>
-<a name="l00119"></a>00119 <span class="comment">** calls exit(2).</span>
-<a name="l00120"></a>00120 <span class="comment">**</span>
-<a name="l00121"></a>00121 <span class="comment">** For applications in which it is unacceptable to</span>
-<a name="l00122"></a>00122 <span class="comment">** abort in the case of memory allocation, then the</span>
-<a name="l00123"></a>00123 <span class="comment">** panic function can be replaced with one which</span>
-<a name="l00124"></a>00124 <span class="comment">** longjmps() out of the tidy code.  For this to</span>
-<a name="l00125"></a>00125 <span class="comment">** clean up completely, you should be careful not</span>
-<a name="l00126"></a>00126 <span class="comment">** to use any tidy methods that open files as these</span>
-<a name="l00127"></a>00127 <span class="comment">** will not be closed before panic() is called.</span>
-<a name="l00128"></a>00128 <span class="comment">**</span>
-<a name="l00129"></a>00129 <span class="comment">** TODO: associate file handles with tidyDoc and</span>
-<a name="l00130"></a>00130 <span class="comment">** ensure that tidyDocRelease() can close them all.</span>
-<a name="l00131"></a>00131 <span class="comment">**</span>
-<a name="l00132"></a>00132 <span class="comment">** Calling the withAllocator() family (</span>
-<a name="l00133"></a>00133 <span class="comment">** tidyCreateWithAllocator, tidyBufInitWithAllocator,</span>
-<a name="l00134"></a>00134 <span class="comment">** tidyBufAllocWithAllocator) allow settings custom</span>
-<a name="l00135"></a>00135 <span class="comment">** allocators).</span>
-<a name="l00136"></a>00136 <span class="comment">**</span>
-<a name="l00137"></a>00137 <span class="comment">** All parts of the document use the same allocator.</span>
-<a name="l00138"></a>00138 <span class="comment">** Calls that require a user provided buffer can</span>
-<a name="l00139"></a>00139 <span class="comment">** optionally use a different allocator.</span>
-<a name="l00140"></a>00140 <span class="comment">**</span>
-<a name="l00141"></a>00141 <span class="comment">** For reference in designing a plug-in allocator,</span>
-<a name="l00142"></a>00142 <span class="comment">** most allocations made by tidy are less than 100</span>
-<a name="l00143"></a>00143 <span class="comment">** bytes, corresponding to attribute names/values, etc.</span>
-<a name="l00144"></a>00144 <span class="comment">**</span>
-<a name="l00145"></a>00145 <span class="comment">** There is also an additional class of much larger</span>
-<a name="l00146"></a>00146 <span class="comment">** allocations which are where most of the data from</span>
-<a name="l00147"></a>00147 <span class="comment">** the lexer is stored.  (It is not currently possible</span>
-<a name="l00148"></a>00148 <span class="comment">** to use a separate allocator for the lexer, this</span>
-<a name="l00149"></a>00149 <span class="comment">** would be a useful extension).</span>
-<a name="l00150"></a>00150 <span class="comment">**</span>
-<a name="l00151"></a>00151 <span class="comment">** In general, approximately 1/3rd of the memory</span>
-<a name="l00152"></a>00152 <span class="comment">** used by tidy is freed during the parse, so if</span>
-<a name="l00153"></a>00153 <span class="comment">** memory usage is an issue then an allocator that </span>
-<a name="l00154"></a>00154 <span class="comment">** can reuse this memory is a good idea.</span>
-<a name="l00155"></a>00155 <span class="comment">**</span>
-<a name="l00156"></a>00156 <span class="comment">** @{</span>
-<a name="l00157"></a>00157 <span class="comment">*/</span>
-<a name="l00158"></a>00158 <span class="comment"></span>
-<a name="l00159"></a>00159 <span class="comment">/** Prototype for the allocator&#39;s function table */</span>
-<a name="l00160"></a>00160 <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a>;<span class="comment"></span>
-<a name="l00161"></a>00161 <span class="comment">/** The allocators function table */</span>
-<a name="l00162"></a><a class="code" href="group__Memory.html#ga3fe8c5ac7d658618c732565776940ed8">00162</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a> <a class="code" href="struct__TidyAllocatorVtbl.html">TidyAllocatorVtbl</a>;
-<a name="l00163"></a>00163 <span class="comment"></span>
-<a name="l00164"></a>00164 <span class="comment">/** Prototype for the allocator */</span>
-<a name="l00165"></a>00165 <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a>;<span class="comment"></span>
-<a name="l00166"></a>00166 <span class="comment">/** The allocator **/</span>
-<a name="l00167"></a><a class="code" href="group__Memory.html#ga78e96524a88db0c09e766795265863da">00167</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a> <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a>;
-<a name="l00168"></a>00168 <span class="comment"></span>
-<a name="l00169"></a>00169 <span class="comment">/** An allocator&#39;s function table.  All functions here must</span>
-<a name="l00170"></a>00170 <span class="comment">    be provided.</span>
-<a name="l00171"></a>00171 <span class="comment"> */</span>
-<a name="l00172"></a><a class="code" href="struct__TidyAllocatorVtbl.html">00172</a> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocatorVtbl.html">_TidyAllocatorVtbl</a> {<span class="comment"></span>
-<a name="l00173"></a>00173 <span class="comment">    /** Called to allocate a block of nBytes of memory */</span>
-<a name="l00174"></a>00174     <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="struct__TidyAllocatorVtbl.html#ac89bb7f5b58fcb5b31a1560705f3b817">alloc</a>)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">size_t</span> nBytes );<span class="comment"></span>
-<a name="l00175"></a>00175 <span class="comment">    /** Called to resize (grow, in general) a block of memory.</span>
-<a name="l00176"></a>00176 <span class="comment">        Must support being called with NULL.</span>
-<a name="l00177"></a>00177 <span class="comment">    */</span>
-<a name="l00178"></a>00178     <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="struct__TidyAllocatorVtbl.html#a0cad0dd2aa75a20573fc46f25460a5cc">realloc</a>)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">void</span> *block, <span class="keywordtype">size_t</span> nBytes );<span class="comment"></span>
-<a name="l00179"></a>00179 <span class="comment">    /** Called to free a previously allocated block of memory */</span>
-<a name="l00180"></a>00180     <a class="code" href="struct__TidyAllocatorVtbl.html#a1e453d5e80b35fe3c6c15512c6b95aa5">void</a> (TIDY_CALL *free)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, <span class="keywordtype">void</span> *block);<span class="comment"></span>
-<a name="l00181"></a>00181 <span class="comment">    /** Called when a panic condition is detected.  Must support</span>
-<a name="l00182"></a>00182 <span class="comment">        block == NULL.  This function is not called if either alloc </span>
-<a name="l00183"></a>00183 <span class="comment">        or realloc fails; it is up to the allocator to do this.</span>
-<a name="l00184"></a>00184 <span class="comment">        Currently this function can only be called if an error is</span>
-<a name="l00185"></a>00185 <span class="comment">        detected in the tree integrity via the internal function</span>
-<a name="l00186"></a>00186 <span class="comment">        CheckNodeIntegrity().  This is a situation that can</span>
-<a name="l00187"></a>00187 <span class="comment">        only arise in the case of a programming error in tidylib.</span>
-<a name="l00188"></a>00188 <span class="comment">        You can turn off node integrity checking by defining</span>
-<a name="l00189"></a>00189 <span class="comment">        the constant NO_NODE_INTEGRITY_CHECK during the build.</span>
-<a name="l00190"></a>00190 <span class="comment">    **/</span>
-<a name="l00191"></a>00191     <a class="code" href="struct__TidyAllocatorVtbl.html#a1e453d5e80b35fe3c6c15512c6b95aa5">void</a> (TIDY_CALL *panic)( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *<span class="keyword">self</span>, ctmbstr msg );
-<a name="l00192"></a>00192 };
-<a name="l00193"></a>00193 <span class="comment"></span>
-<a name="l00194"></a>00194 <span class="comment">/** An allocator.  To create your own allocator, do something like</span>
-<a name="l00195"></a>00195 <span class="comment">    the following:</span>
-<a name="l00196"></a>00196 <span class="comment">    </span>
-<a name="l00197"></a>00197 <span class="comment">    typedef struct _MyAllocator {</span>
-<a name="l00198"></a>00198 <span class="comment">       TidyAllocator base;</span>
-<a name="l00199"></a>00199 <span class="comment">       ...other custom allocator state...</span>
-<a name="l00200"></a>00200 <span class="comment">    } MyAllocator;</span>
-<a name="l00201"></a>00201 <span class="comment">    </span>
-<a name="l00202"></a>00202 <span class="comment">    void* MyAllocator_alloc(TidyAllocator *base, void *block, size_t nBytes)</span>
-<a name="l00203"></a>00203 <span class="comment">    {</span>
-<a name="l00204"></a>00204 <span class="comment">        MyAllocator *self = (MyAllocator*)base;</span>
-<a name="l00205"></a>00205 <span class="comment">        ...</span>
-<a name="l00206"></a>00206 <span class="comment">    }</span>
-<a name="l00207"></a>00207 <span class="comment">    (etc)</span>
-<a name="l00208"></a>00208 <span class="comment"></span>
-<a name="l00209"></a>00209 <span class="comment">    static const TidyAllocatorVtbl MyAllocatorVtbl = {</span>
-<a name="l00210"></a>00210 <span class="comment">        MyAllocator_alloc,</span>
-<a name="l00211"></a>00211 <span class="comment">        MyAllocator_realloc,</span>
-<a name="l00212"></a>00212 <span class="comment">        MyAllocator_free,</span>
-<a name="l00213"></a>00213 <span class="comment">        MyAllocator_panic</span>
-<a name="l00214"></a>00214 <span class="comment">    };</span>
-<a name="l00215"></a>00215 <span class="comment"></span>
-<a name="l00216"></a>00216 <span class="comment">    myAllocator allocator;</span>
-<a name="l00217"></a>00217 <span class="comment">    TidyDoc doc;</span>
-<a name="l00218"></a>00218 <span class="comment"></span>
-<a name="l00219"></a>00219 <span class="comment">    allocator.base.vtbl = &amp;amp;MyAllocatorVtbl;</span>
-<a name="l00220"></a>00220 <span class="comment">    ...initialise allocator specific state...</span>
-<a name="l00221"></a>00221 <span class="comment">    doc = tidyCreateWithAllocator(&amp;allocator);</span>
-<a name="l00222"></a>00222 <span class="comment">    ...</span>
-<a name="l00223"></a>00223 <span class="comment"></span>
-<a name="l00224"></a>00224 <span class="comment">    Although this looks slightly long winded, the advantage is that to create</span>
-<a name="l00225"></a>00225 <span class="comment">    a custom allocator you simply need to set the vtbl pointer correctly.</span>
-<a name="l00226"></a>00226 <span class="comment">    The vtbl itself can reside in static/global data, and hence does not</span>
-<a name="l00227"></a>00227 <span class="comment">    need to be initialised each time an allocator is created, and furthermore</span>
-<a name="l00228"></a>00228 <span class="comment">    the memory is shared amongst all created allocators.</span>
-<a name="l00229"></a>00229 <span class="comment">*/</span>
-<a name="l00230"></a><a class="code" href="struct__TidyAllocator.html">00230</a> <span class="keyword">struct </span><a class="code" href="struct__TidyAllocator.html">_TidyAllocator</a> {
-<a name="l00231"></a>00231     <span class="keyword">const</span> <a class="code" href="struct__TidyAllocatorVtbl.html">TidyAllocatorVtbl</a> *vtbl;
-<a name="l00232"></a>00232 };
-<a name="l00233"></a>00233 <span class="comment"></span>
-<a name="l00234"></a>00234 <span class="comment">/** Callback for &quot;malloc&quot; replacement */</span>
-<a name="l00235"></a><a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">00235</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">TidyMalloc</a>)( <span class="keywordtype">size_t</span> len );<span class="comment"></span>
-<a name="l00236"></a>00236 <span class="comment">/** Callback for &quot;realloc&quot; replacement */</span>
-<a name="l00237"></a><a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">00237</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (TIDY_CALL *<a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">TidyRealloc</a>)( <span class="keywordtype">void</span>* buf, <span class="keywordtype">size_t</span> len );<span class="comment"></span>
-<a name="l00238"></a>00238 <span class="comment">/** Callback for &quot;free&quot; replacement */</span>
-<a name="l00239"></a><a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">00239</a> <span class="keyword">typedef</span> void  (TIDY_CALL *<a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">TidyFree</a>)( <span class="keywordtype">void</span>* buf );<span class="comment"></span>
-<a name="l00240"></a>00240 <span class="comment">/** Callback for &quot;out of memory&quot; panic state */</span>
-<a name="l00241"></a><a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">00241</a> <span class="keyword">typedef</span> void  (TIDY_CALL *<a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">TidyPanic</a>)( ctmbstr mssg );
-<a name="l00242"></a>00242 
-<a name="l00243"></a>00243 <span class="comment"></span>
-<a name="l00244"></a>00244 <span class="comment">/** Give Tidy a malloc() replacement */</span>
-<a name="l00245"></a>00245 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#gab55079374527525e3374ebc4d2a1e625">tidySetMallocCall</a>( <a class="code" href="group__Memory.html#ga3bd3cc4d0c837a4cd10ab472ba671430">TidyMalloc</a> fmalloc );<span class="comment"></span>
-<a name="l00246"></a>00246 <span class="comment">/** Give Tidy a realloc() replacement */</span>
-<a name="l00247"></a>00247 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#ga446b538da3ee3f2e5a3827b877665b30">tidySetReallocCall</a>( <a class="code" href="group__Memory.html#ga9d9a5625817932dbbb39dd33de678edd">TidyRealloc</a> frealloc );<span class="comment"></span>
-<a name="l00248"></a>00248 <span class="comment">/** Give Tidy a free() replacement */</span>
-<a name="l00249"></a>00249 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#ga70e707b7df86effb5727b0b9ff64eed7">tidySetFreeCall</a>( <a class="code" href="group__Memory.html#ga27931c443e424937ba47f0d4795aa35f">TidyFree</a> ffree );<span class="comment"></span>
-<a name="l00250"></a>00250 <span class="comment">/** Give Tidy an &quot;out of memory&quot; handler */</span>
-<a name="l00251"></a>00251 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__Memory.html#gab12cc0435bacec1a8c725e02357acc00">tidySetPanicCall</a>( <a class="code" href="group__Memory.html#ga0770be41d9935a3e2933ba0be3c7725c">TidyPanic</a> fpanic );
-<a name="l00252"></a>00252 <span class="comment"></span>
-<a name="l00253"></a>00253 <span class="comment">/** @} end Memory group */</span>
-<a name="l00254"></a>00254 <span class="comment"></span>
-<a name="l00255"></a>00255 <span class="comment">/** @defgroup Basic Basic Operations</span>
-<a name="l00256"></a>00256 <span class="comment">**</span>
-<a name="l00257"></a>00257 <span class="comment">** Tidy public interface</span>
-<a name="l00258"></a>00258 <span class="comment">**</span>
-<a name="l00259"></a>00259 <span class="comment">** Several functions return an integer document status:</span>
-<a name="l00260"></a>00260 <span class="comment">**</span>
-<a name="l00261"></a>00261 <span class="comment">** &lt;pre&gt;</span>
-<a name="l00262"></a>00262 <span class="comment">** 0    -&gt; SUCCESS</span>
-<a name="l00263"></a>00263 <span class="comment">** &gt;0   -&gt; 1 == TIDY WARNING, 2 == TIDY ERROR</span>
-<a name="l00264"></a>00264 <span class="comment">** &lt;0   -&gt; SEVERE ERROR</span>
-<a name="l00265"></a>00265 <span class="comment">** &lt;/pre&gt;</span>
-<a name="l00266"></a>00266 <span class="comment">** </span>
-<a name="l00267"></a>00267 <span class="comment">The following is a short example program.</span>
-<a name="l00268"></a>00268 <span class="comment"></span>
-<a name="l00269"></a>00269 <span class="comment">&lt;pre&gt;</span>
-<a name="l00270"></a>00270 <span class="comment">#include &amp;lt;tidy.h&amp;gt;</span>
-<a name="l00271"></a>00271 <span class="comment">#include &amp;lt;buffio.h&amp;gt;</span>
-<a name="l00272"></a>00272 <span class="comment">#include &amp;lt;stdio.h&amp;gt;</span>
-<a name="l00273"></a>00273 <span class="comment">#include &amp;lt;errno.h&amp;gt;</span>
-<a name="l00274"></a>00274 <span class="comment"></span>
-<a name="l00275"></a>00275 <span class="comment"></span>
-<a name="l00276"></a>00276 <span class="comment">int main(int argc, char **argv )</span>
-<a name="l00277"></a>00277 <span class="comment">{</span>
-<a name="l00278"></a>00278 <span class="comment">  const char* input = &quot;&amp;lt;title&amp;gt;Foo&amp;lt;/title&amp;gt;&amp;lt;p&amp;gt;Foo!&quot;;</span>
-<a name="l00279"></a>00279 <span class="comment">  TidyBuffer output;</span>
-<a name="l00280"></a>00280 <span class="comment">  TidyBuffer errbuf;</span>
-<a name="l00281"></a>00281 <span class="comment">  int rc = -1;</span>
-<a name="l00282"></a>00282 <span class="comment">  Bool ok;</span>
-<a name="l00283"></a>00283 <span class="comment"></span>
-<a name="l00284"></a>00284 <span class="comment">  TidyDoc tdoc = tidyCreate();                     // Initialize &quot;document&quot;</span>
-<a name="l00285"></a>00285 <span class="comment">  tidyBufInit( &amp;amp;output );</span>
-<a name="l00286"></a>00286 <span class="comment">  tidyBufInit( &amp;amp;errbuf );</span>
-<a name="l00287"></a>00287 <span class="comment">  printf( &quot;Tidying:\t\%s\\n&quot;, input );</span>
-<a name="l00288"></a>00288 <span class="comment"></span>
-<a name="l00289"></a>00289 <span class="comment">  ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes );  // Convert to XHTML</span>
-<a name="l00290"></a>00290 <span class="comment">  if ( ok )</span>
-<a name="l00291"></a>00291 <span class="comment">    rc = tidySetErrorBuffer( tdoc, &amp;amp;errbuf );      // Capture diagnostics</span>
-<a name="l00292"></a>00292 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00293"></a>00293 <span class="comment">    rc = tidyParseString( tdoc, input );           // Parse the input</span>
-<a name="l00294"></a>00294 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00295"></a>00295 <span class="comment">    rc = tidyCleanAndRepair( tdoc );               // Tidy it up!</span>
-<a name="l00296"></a>00296 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00297"></a>00297 <span class="comment">    rc = tidyRunDiagnostics( tdoc );               // Kvetch</span>
-<a name="l00298"></a>00298 <span class="comment">  if ( rc &amp;gt; 1 )                                    // If error, force output.</span>
-<a name="l00299"></a>00299 <span class="comment">    rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 );</span>
-<a name="l00300"></a>00300 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00301"></a>00301 <span class="comment">    rc = tidySaveBuffer( tdoc, &amp;amp;output );          // Pretty Print</span>
-<a name="l00302"></a>00302 <span class="comment"></span>
-<a name="l00303"></a>00303 <span class="comment">  if ( rc &amp;gt;= 0 )</span>
-<a name="l00304"></a>00304 <span class="comment">  {</span>
-<a name="l00305"></a>00305 <span class="comment">    if ( rc &amp;gt; 0 )</span>
-<a name="l00306"></a>00306 <span class="comment">      printf( &quot;\\nDiagnostics:\\n\\n\%s&quot;, errbuf.bp );</span>
-<a name="l00307"></a>00307 <span class="comment">    printf( &quot;\\nAnd here is the result:\\n\\n\%s&quot;, output.bp );</span>
-<a name="l00308"></a>00308 <span class="comment">  }</span>
-<a name="l00309"></a>00309 <span class="comment">  else</span>
-<a name="l00310"></a>00310 <span class="comment">    printf( &quot;A severe error (\%d) occurred.\\n&quot;, rc );</span>
-<a name="l00311"></a>00311 <span class="comment"></span>
-<a name="l00312"></a>00312 <span class="comment">  tidyBufFree( &amp;amp;output );</span>
-<a name="l00313"></a>00313 <span class="comment">  tidyBufFree( &amp;amp;errbuf );</span>
-<a name="l00314"></a>00314 <span class="comment">  tidyRelease( tdoc );</span>
-<a name="l00315"></a>00315 <span class="comment">  return rc;</span>
-<a name="l00316"></a>00316 <span class="comment">}</span>
-<a name="l00317"></a>00317 <span class="comment">&lt;/pre&gt;</span>
-<a name="l00318"></a>00318 <span class="comment">** @{</span>
-<a name="l00319"></a>00319 <span class="comment">*/</span>
-<a name="l00320"></a>00320 
-<a name="l00321"></a>00321 TIDY_EXPORT <a class="code" href="structTidyDoc.html">TidyDoc</a> TIDY_CALL     tidyCreate(<span class="keywordtype">void</span>);
-<a name="l00322"></a>00322 TIDY_EXPORT <a class="code" href="structTidyDoc.html">TidyDoc</a> TIDY_CALL     tidyCreateWithAllocator( <a class="code" href="struct__TidyAllocator.html">TidyAllocator</a> *allocator );
-<a name="l00323"></a>00323 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        tidyRelease( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00324"></a>00324 <span class="comment"></span>
-<a name="l00325"></a>00325 <span class="comment">/** Let application store a chunk of data w/ each Tidy instance.</span>
-<a name="l00326"></a>00326 <span class="comment">**  Useful for callbacks.</span>
-<a name="l00327"></a>00327 <span class="comment">*/</span>
-<a name="l00328"></a>00328 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#gaa1a9f78be3542868ac10481e2efa8708">tidySetAppData</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <span class="keywordtype">void</span>* appData );
-<a name="l00329"></a>00329 <span class="comment"></span>
-<a name="l00330"></a>00330 <span class="comment">/** Get application data set previously */</span>
-<a name="l00331"></a>00331 TIDY_EXPORT <span class="keywordtype">void</span>* TIDY_CALL       <a class="code" href="group__Basic.html#ga1319c9757d4f8c596615e0fdcfcf2504">tidyGetAppData</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00332"></a>00332 <span class="comment"></span>
-<a name="l00333"></a>00333 <span class="comment">/** Get release date (version) for current library */</span>
-<a name="l00334"></a>00334 TIDY_EXPORT ctmbstr TIDY_CALL     <a class="code" href="group__Basic.html#gab7b404ada690635341d2e2d332102b36">tidyReleaseDate</a>(<span class="keywordtype">void</span>);
-<a name="l00335"></a>00335 
-<a name="l00336"></a>00336 <span class="comment">/* Diagnostics and Repair</span>
-<a name="l00337"></a>00337 <span class="comment">*/</span>
-<a name="l00338"></a>00338 <span class="comment"></span>
-<a name="l00339"></a>00339 <span class="comment">/** Get status of current document. */</span>
-<a name="l00340"></a>00340 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gaf45a8fb57fb9bfce89c42e1cc9d3e760">tidyStatus</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00341"></a>00341 <span class="comment"></span>
-<a name="l00342"></a>00342 <span class="comment">/** Detected HTML version: 0, 2, 3 or 4 */</span>
-<a name="l00343"></a>00343 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga8fbec4bc2b67c4f525440cfc7196b443">tidyDetectedHtmlVersion</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00344"></a>00344 <span class="comment"></span>
-<a name="l00345"></a>00345 <span class="comment">/** Input is XHTML? */</span>
-<a name="l00346"></a>00346 TIDY_EXPORT Bool TIDY_CALL        <a class="code" href="group__Basic.html#gaf3279c9a0506629d2ae766c31c1de48d">tidyDetectedXhtml</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00347"></a>00347 <span class="comment"></span>
-<a name="l00348"></a>00348 <span class="comment">/** Input is generic XML (not HTML or XHTML)? */</span>
-<a name="l00349"></a>00349 TIDY_EXPORT Bool TIDY_CALL        <a class="code" href="group__Basic.html#ga8dd761b5e230119f8eb6c412f12fdec2">tidyDetectedGenericXml</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00350"></a>00350 <span class="comment"></span>
-<a name="l00351"></a>00351 <span class="comment">/** Number of Tidy errors encountered.  If &gt; 0, output is suppressed</span>
-<a name="l00352"></a>00352 <span class="comment">**  unless TidyForceOutput is set.</span>
-<a name="l00353"></a>00353 <span class="comment">*/</span>
-<a name="l00354"></a>00354 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga3617548e3669d00ad074daaaa8f3460d">tidyErrorCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00355"></a>00355 <span class="comment"></span>
-<a name="l00356"></a>00356 <span class="comment">/** Number of Tidy warnings encountered. */</span>
-<a name="l00357"></a>00357 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga29b0c36f75584a2a26422b021561f19c">tidyWarningCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00358"></a>00358 <span class="comment"></span>
-<a name="l00359"></a>00359 <span class="comment">/** Number of Tidy accessibility warnings encountered. */</span>
-<a name="l00360"></a>00360 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#ga56ad617084cdcbb485f06f597de7dedb">tidyAccessWarningCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00361"></a>00361 <span class="comment"></span>
-<a name="l00362"></a>00362 <span class="comment">/** Number of Tidy configuration errors encountered. */</span>
-<a name="l00363"></a>00363 TIDY_EXPORT uint TIDY_CALL        <a class="code" href="group__Basic.html#gac17c01a0dbb8f73bdee29df48e499988">tidyConfigErrorCount</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00364"></a>00364 
-<a name="l00365"></a>00365 <span class="comment">/* Get/Set configuration options</span>
-<a name="l00366"></a>00366 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00367"></a>00367 <span class="comment">/** Load an ASCII Tidy configuration file */</span>
-<a name="l00368"></a>00368 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga2dec710c0d4927e76a7b0d338b11693a">tidyLoadConfig</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr configFile );
-<a name="l00369"></a>00369 <span class="comment"></span>
-<a name="l00370"></a>00370 <span class="comment">/** Load a Tidy configuration file with the specified character encoding */</span>
-<a name="l00371"></a>00371 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gac677de148c6f00fc96a682c21433ab1c">tidyLoadConfigEnc</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr configFile,
-<a name="l00372"></a>00372                                                      ctmbstr charenc );
-<a name="l00373"></a>00373 
-<a name="l00374"></a>00374 TIDY_EXPORT Bool TIDY_CALL        tidyFileExists( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00375"></a>00375 
-<a name="l00376"></a>00376 <span class="comment"></span>
-<a name="l00377"></a>00377 <span class="comment">/** Set the input/output character encoding for parsing markup.</span>
-<a name="l00378"></a>00378 <span class="comment">**  Values include: ascii, latin1, raw, utf8, iso2022, mac,</span>
-<a name="l00379"></a>00379 <span class="comment">**  win1252, utf16le, utf16be, utf16, big5 and shiftjis.  Case in-sensitive.</span>
-<a name="l00380"></a>00380 <span class="comment">*/</span>
-<a name="l00381"></a>00381 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga2612e184472c2a59ca822a37d030e9af">tidySetCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00382"></a>00382 <span class="comment"></span>
-<a name="l00383"></a>00383 <span class="comment">/** Set the input encoding for parsing markup.</span>
-<a name="l00384"></a>00384 <span class="comment">** As for tidySetCharEncoding but only affects the input encoding</span>
-<a name="l00385"></a>00385 <span class="comment">**/</span>
-<a name="l00386"></a>00386 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga05203a9193542a67b8396cf6ca8acf59">tidySetInCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00387"></a>00387 <span class="comment"></span>
-<a name="l00388"></a>00388 <span class="comment">/** Set the output encoding.</span>
-<a name="l00389"></a>00389 <span class="comment">**/</span>
-<a name="l00390"></a>00390 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#ga9b6bd07e38bf320cf88663a29967f1e9">tidySetOutCharEncoding</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr encnam );
-<a name="l00391"></a>00391 <span class="comment"></span>
-<a name="l00392"></a>00392 <span class="comment">/** @} end Basic group */</span>
-<a name="l00393"></a>00393 
-<a name="l00394"></a>00394 <span class="comment"></span>
-<a name="l00395"></a>00395 <span class="comment">/** @defgroup Configuration Configuration Options</span>
-<a name="l00396"></a>00396 <span class="comment">**</span>
-<a name="l00397"></a>00397 <span class="comment">** Functions for getting and setting Tidy configuration options.</span>
-<a name="l00398"></a>00398 <span class="comment">** @{</span>
-<a name="l00399"></a>00399 <span class="comment">*/</span>
-<a name="l00400"></a>00400 <span class="comment"></span>
-<a name="l00401"></a>00401 <span class="comment">/** Applications using TidyLib may want to augment command-line and</span>
-<a name="l00402"></a>00402 <span class="comment">**  configuration file options.  Setting this callback allows an application </span>
-<a name="l00403"></a>00403 <span class="comment">**  developer to examine command-line and configuration file options after</span>
-<a name="l00404"></a>00404 <span class="comment">**  TidyLib has examined them and failed to recognize them.</span>
-<a name="l00405"></a>00405 <span class="comment">**/</span>
-<a name="l00406"></a>00406 
-<a name="l00407"></a><a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">00407</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">TidyOptCallback</a>)( ctmbstr option, ctmbstr value );
-<a name="l00408"></a>00408 
-<a name="l00409"></a>00409 TIDY_EXPORT Bool TIDY_CALL          tidySetOptionCallback( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__Configuration.html#gaee8a8bcb6091bd36f6fc20507a4544fc">TidyOptCallback</a> pOptCallback );
-<a name="l00410"></a>00410 <span class="comment"></span>
-<a name="l00411"></a>00411 <span class="comment">/** Get option ID by name */</span>
-<a name="l00412"></a>00412 TIDY_EXPORT TidyOptionId TIDY_CALL  <a class="code" href="group__Configuration.html#ga500f31ba81d015b8ce9dad6f2a6ade75">tidyOptGetIdForName</a>( ctmbstr optnam );
-<a name="l00413"></a>00413 <span class="comment"></span>
-<a name="l00414"></a>00414 <span class="comment">/** Get iterator for list of option */</span><span class="comment"></span>
-<a name="l00415"></a>00415 <span class="comment">/** </span>
-<a name="l00416"></a>00416 <span class="comment">Example:</span>
-<a name="l00417"></a>00417 <span class="comment">&lt;pre&gt;</span>
-<a name="l00418"></a>00418 <span class="comment">TidyIterator itOpt = tidyGetOptionList( tdoc );</span>
-<a name="l00419"></a>00419 <span class="comment">while ( itOpt )</span>
-<a name="l00420"></a>00420 <span class="comment">{</span>
-<a name="l00421"></a>00421 <span class="comment">  TidyOption opt = tidyGetNextOption( tdoc, &amp;itOpt );</span>
-<a name="l00422"></a>00422 <span class="comment">  .. get/set option values ..</span>
-<a name="l00423"></a>00423 <span class="comment">}</span>
-<a name="l00424"></a>00424 <span class="comment">&lt;/pre&gt;</span>
-<a name="l00425"></a>00425 <span class="comment">*/</span>
-<a name="l00426"></a>00426 
-<a name="l00427"></a>00427 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#gab92a35ffbd3b0b668534d63f94d2486f">tidyGetOptionList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00428"></a>00428 <span class="comment">/** Get next Option */</span>
-<a name="l00429"></a>00429 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga1a3088dacc539487e00f1eb4009dafc0">tidyGetNextOption</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyIterator* pos );
-<a name="l00430"></a>00430 <span class="comment"></span>
-<a name="l00431"></a>00431 <span class="comment">/** Lookup option by ID */</span>
-<a name="l00432"></a>00432 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga030c695d6407b2756856eb1862642cfe">tidyGetOption</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00433"></a>00433 <span class="comment">/** Lookup option by name */</span>
-<a name="l00434"></a>00434 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#gaeae2e147645697fc54234ff2526a8108">tidyGetOptionByName</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr optnam );
-<a name="l00435"></a>00435 <span class="comment"></span>
-<a name="l00436"></a>00436 <span class="comment">/** Get ID of given Option */</span>
-<a name="l00437"></a>00437 TIDY_EXPORT TidyOptionId TIDY_CALL  <a class="code" href="group__Configuration.html#ga51cf095b76921b4e290e14814998f096">tidyOptGetId</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00438"></a>00438 <span class="comment"></span>
-<a name="l00439"></a>00439 <span class="comment">/** Get name of given Option */</span>
-<a name="l00440"></a>00440 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gaf370cd2ea113747f50da185fda24adcb">tidyOptGetName</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00441"></a>00441 <span class="comment"></span>
-<a name="l00442"></a>00442 <span class="comment">/** Get datatype of given Option */</span>
-<a name="l00443"></a>00443 TIDY_EXPORT TidyOptionType TIDY_CALL <a class="code" href="group__Configuration.html#ga06e2685cc2950b182ff2f7136d170a34">tidyOptGetType</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00444"></a>00444 <span class="comment"></span>
-<a name="l00445"></a>00445 <span class="comment">/** Is Option read-only? */</span>
-<a name="l00446"></a>00446 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga6aba2ccdb1237a70f5fe1393fee0ce4d">tidyOptIsReadOnly</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00447"></a>00447 <span class="comment"></span>
-<a name="l00448"></a>00448 <span class="comment">/** Get category of given Option */</span>
-<a name="l00449"></a>00449 TIDY_EXPORT TidyConfigCategory TIDY_CALL <a class="code" href="group__Configuration.html#ga1d8b72e64e4d949dc21599fa788e842f">tidyOptGetCategory</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00450"></a>00450 <span class="comment"></span>
-<a name="l00451"></a>00451 <span class="comment">/** Get default value of given Option as a string */</span>
-<a name="l00452"></a>00452 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gab9e02c9927fe2c382ec5f81b4acf9cb4">tidyOptGetDefault</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00453"></a>00453 <span class="comment"></span>
-<a name="l00454"></a>00454 <span class="comment">/** Get default value of given Option as an unsigned integer */</span>
-<a name="l00455"></a>00455 TIDY_EXPORT ulong TIDY_CALL         <a class="code" href="group__Configuration.html#gafc8df35e864dd3a24f23aca3c2f8bd9d">tidyOptGetDefaultInt</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00456"></a>00456 <span class="comment"></span>
-<a name="l00457"></a>00457 <span class="comment">/** Get default value of given Option as a Boolean value */</span>
-<a name="l00458"></a>00458 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gadadea4da66e3718e02b720c2b59d170b">tidyOptGetDefaultBool</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00459"></a>00459 <span class="comment"></span>
-<a name="l00460"></a>00460 <span class="comment">/** Iterate over Option &quot;pick list&quot; */</span>
-<a name="l00461"></a>00461 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#ga31f815fe2b5bf1e00d6b50be62edd0ab">tidyOptGetPickList</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt );<span class="comment"></span>
-<a name="l00462"></a>00462 <span class="comment">/** Get next string value of Option &quot;pick list&quot; */</span>
-<a name="l00463"></a>00463 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gad1366c5c458f38d2a9c6a6335e6704d9">tidyOptGetNextPick</a>( <a class="code" href="structTidyOption.html">TidyOption</a> opt, TidyIterator* pos );
-<a name="l00464"></a>00464 <span class="comment"></span>
-<a name="l00465"></a>00465 <span class="comment">/** Get current Option value as a string */</span>
-<a name="l00466"></a>00466 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga0fbe23ab1e4ec374fa38e6f514617e4d">tidyOptGetValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00467"></a>00467 <span class="comment">/** Set Option value as a string */</span>
-<a name="l00468"></a>00468 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gaf37bdad3b6809d8cb78e7d6316d4ba69">tidyOptSetValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, ctmbstr val );<span class="comment"></span>
-<a name="l00469"></a>00469 <span class="comment">/** Set named Option value as a string.  Good if not sure of type. */</span>
-<a name="l00470"></a>00470 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gad09fbcbbaf83fbf93e0d7be9c9bb30c0">tidyOptParseValue</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr optnam, ctmbstr val );
-<a name="l00471"></a>00471 <span class="comment"></span>
-<a name="l00472"></a>00472 <span class="comment">/** Get current Option value as an integer */</span>
-<a name="l00473"></a>00473 TIDY_EXPORT ulong TIDY_CALL         <a class="code" href="group__Configuration.html#ga7ff683612d446b07318517e564cccc7a">tidyOptGetInt</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00474"></a>00474 <span class="comment">/** Set Option value as an integer */</span>
-<a name="l00475"></a>00475 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gad9e75a64c8dcbc54e791959cf934e1ad">tidyOptSetInt</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, ulong val );
-<a name="l00476"></a>00476 <span class="comment"></span>
-<a name="l00477"></a>00477 <span class="comment">/** Get current Option value as a Boolean flag */</span>
-<a name="l00478"></a>00478 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga09e6c999e9e7ebc94ea3d9cf5d674125">tidyOptGetBool</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );<span class="comment"></span>
-<a name="l00479"></a>00479 <span class="comment">/** Set Option value as a Boolean flag */</span>
-<a name="l00480"></a>00480 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gac9de7e155bea5c28713f2bfb93614472">tidyOptSetBool</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId, Bool val );
-<a name="l00481"></a>00481 <span class="comment"></span>
-<a name="l00482"></a>00482 <span class="comment">/** Reset option to default value by ID */</span>
-<a name="l00483"></a>00483 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga2aa45ad67758ca0b18d14eafa37fe080">tidyOptResetToDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId opt );<span class="comment"></span>
-<a name="l00484"></a>00484 <span class="comment">/** Reset all options to their default values */</span>
-<a name="l00485"></a>00485 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga874ce26884f0eeaf692c30758688888a">tidyOptResetAllToDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00486"></a>00486 <span class="comment"></span>
-<a name="l00487"></a>00487 <span class="comment">/** Take a snapshot of current config settings */</span>
-<a name="l00488"></a>00488 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga4beb2c73c90c3e2ae589c2642478cebd">tidyOptSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00489"></a>00489 <span class="comment">/** Reset config settings to snapshot (after document processing) */</span>
-<a name="l00490"></a>00490 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#gae6212b8f32990763cc18a6d3f05eb191">tidyOptResetToSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00491"></a>00491 <span class="comment"></span>
-<a name="l00492"></a>00492 <span class="comment">/** Any settings different than default? */</span>
-<a name="l00493"></a>00493 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga083cb42d6f4413604240b5c1b3aa2070">tidyOptDiffThanDefault</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00494"></a>00494 <span class="comment">/** Any settings different than snapshot? */</span>
-<a name="l00495"></a>00495 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga793bc9e177aa90301802e44c4fc22e0e">tidyOptDiffThanSnapshot</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00496"></a>00496 <span class="comment"></span>
-<a name="l00497"></a>00497 <span class="comment">/** Copy current configuration settings from one document to another */</span>
-<a name="l00498"></a>00498 TIDY_EXPORT Bool TIDY_CALL          <a class="code" href="group__Configuration.html#ga0b6cb26ab5dbbe0a0841d605fbd06fad">tidyOptCopyConfig</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdocTo, <a class="code" href="structTidyDoc.html">TidyDoc</a> tdocFrom );
-<a name="l00499"></a>00499 <span class="comment"></span>
-<a name="l00500"></a>00500 <span class="comment">/** Get character encoding name.  Used with TidyCharEncoding,</span>
-<a name="l00501"></a>00501 <span class="comment">**  TidyOutCharEncoding, TidyInCharEncoding */</span>
-<a name="l00502"></a>00502 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga47f8502cc202fc7423937647957955a3">tidyOptGetEncName</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId );
-<a name="l00503"></a>00503 <span class="comment"></span>
-<a name="l00504"></a>00504 <span class="comment">/** Get current pick list value for option by ID.  Useful for enum types. */</span>
-<a name="l00505"></a>00505 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#ga0785047cc73d5fbc88691861a0fa9c78">tidyOptGetCurrPick</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyOptionId optId);
-<a name="l00506"></a>00506 <span class="comment"></span>
-<a name="l00507"></a>00507 <span class="comment">/** Iterate over user declared tags */</span>
-<a name="l00508"></a>00508 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#ga55f30cf9e507f8fc66330ec3b0132620">tidyOptGetDeclTagList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );<span class="comment"></span>
-<a name="l00509"></a>00509 <span class="comment">/** Get next declared tag of specified type: TidyInlineTags, TidyBlockTags,</span>
-<a name="l00510"></a>00510 <span class="comment">**  TidyEmptyTags, TidyPreTags */</span>
-<a name="l00511"></a>00511 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gacec933eef8f9eec3dfa4382e05cab251">tidyOptGetNextDeclTag</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, 
-<a name="l00512"></a>00512                                                           TidyOptionId optId,
-<a name="l00513"></a>00513                                                           TidyIterator* iter );<span class="comment"></span>
-<a name="l00514"></a>00514 <span class="comment">/** Get option description */</span>
-<a name="l00515"></a>00515 TIDY_EXPORT ctmbstr TIDY_CALL       <a class="code" href="group__Configuration.html#gafca3ed506463e192187133ff646a643d">tidyOptGetDoc</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="structTidyOption.html">TidyOption</a> opt );
-<a name="l00516"></a>00516 <span class="comment"></span>
-<a name="l00517"></a>00517 <span class="comment">/** Iterate over a list of related options */</span>
-<a name="l00518"></a>00518 TIDY_EXPORT TidyIterator TIDY_CALL  <a class="code" href="group__Configuration.html#gaeed1ef5cb5329f3f5aca0a8ad7e8ea4f">tidyOptGetDocLinksList</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00519"></a>00519                                                   <a class="code" href="structTidyOption.html">TidyOption</a> opt );<span class="comment"></span>
-<a name="l00520"></a>00520 <span class="comment">/** Get next related option */</span>
-<a name="l00521"></a>00521 TIDY_EXPORT <a class="code" href="structTidyOption.html">TidyOption</a> TIDY_CALL    <a class="code" href="group__Configuration.html#ga1db79a95067d6364c02263d9492fa9e8">tidyOptGetNextDocLinks</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00522"></a>00522                                                   TidyIterator* pos );
-<a name="l00523"></a>00523 <span class="comment"></span>
-<a name="l00524"></a>00524 <span class="comment">/** @} end Configuration group */</span>
-<a name="l00525"></a>00525 <span class="comment"></span>
-<a name="l00526"></a>00526 <span class="comment">/** @defgroup IO  I/O and Messages</span>
-<a name="l00527"></a>00527 <span class="comment">**</span>
-<a name="l00528"></a>00528 <span class="comment">** By default, Tidy will define, create and use </span>
-<a name="l00529"></a>00529 <span class="comment">** instances of input and output handlers for </span>
-<a name="l00530"></a>00530 <span class="comment">** standard C buffered I/O (i.e. FILE* stdin,</span>
-<a name="l00531"></a>00531 <span class="comment">** FILE* stdout and FILE* stderr for content</span>
-<a name="l00532"></a>00532 <span class="comment">** input, content output and diagnostic output,</span>
-<a name="l00533"></a>00533 <span class="comment">** respectively.  A FILE* cfgFile input handler</span>
-<a name="l00534"></a>00534 <span class="comment">** will be used for config files.  Command line</span>
-<a name="l00535"></a>00535 <span class="comment">** options will just be set directly.</span>
-<a name="l00536"></a>00536 <span class="comment">**</span>
-<a name="l00537"></a>00537 <span class="comment">** @{</span>
-<a name="l00538"></a>00538 <span class="comment">*/</span>
-<a name="l00539"></a>00539 
-<a name="l00540"></a>00540 <span class="comment">/*****************</span>
-<a name="l00541"></a>00541 <span class="comment">   Input Source</span>
-<a name="l00542"></a>00542 <span class="comment">*****************/</span><span class="comment"></span>
-<a name="l00543"></a>00543 <span class="comment">/** Input Callback: get next byte of input */</span>
-<a name="l00544"></a><a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">00544</a> <span class="keyword">typedef</span> int  (TIDY_CALL *<a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>)( <span class="keywordtype">void</span>* sourceData );
-<a name="l00545"></a>00545 <span class="comment"></span>
-<a name="l00546"></a>00546 <span class="comment">/** Input Callback: unget a byte of input */</span>
-<a name="l00547"></a><a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">00547</a> <span class="keyword">typedef</span> void (TIDY_CALL *<a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a>)( <span class="keywordtype">void</span>* sourceData, byte bt );
-<a name="l00548"></a>00548 <span class="comment"></span>
-<a name="l00549"></a>00549 <span class="comment">/** Input Callback: is end of input? */</span>
-<a name="l00550"></a><a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">00550</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>)( <span class="keywordtype">void</span>* sourceData );
-<a name="l00551"></a>00551 <span class="comment"></span>
-<a name="l00552"></a>00552 <span class="comment">/** End of input &quot;character&quot; */</span>
-<a name="l00553"></a><a class="code" href="group__IO.html#ga9a078b706ec6f37cce40958f6f68585a">00553</a> <span class="preprocessor">#define EndOfStream (~0u)</span>
-<a name="l00554"></a>00554 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00555"></a>00555 <span class="comment">/** TidyInputSource - Delivers raw bytes of input</span>
-<a name="l00556"></a>00556 <span class="comment">*/</span>
-<a name="l00557"></a>00557 TIDY_STRUCT
-<a name="l00558"></a><a class="code" href="struct__TidyInputSource.html">00558</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyInputSource.html">_TidyInputSource</a>
-<a name="l00559"></a>00559 {
-<a name="l00560"></a>00560   <span class="comment">/* Instance data */</span>
-<a name="l00561"></a><a class="code" href="struct__TidyInputSource.html#a19bd9d8877bfc702ceae4e174d0b07d4">00561</a>   <span class="keywordtype">void</span>*               <a class="code" href="struct__TidyInputSource.html#a19bd9d8877bfc702ceae4e174d0b07d4">sourceData</a>;  <span class="comment">/**&lt; Input context.  Passed to callbacks */</span>
-<a name="l00562"></a>00562 
-<a name="l00563"></a>00563   <span class="comment">/* Methods */</span>
-<a name="l00564"></a><a class="code" href="struct__TidyInputSource.html#a4c318270e25e2e4dd9506cb04542b7d8">00564</a>   <a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>     <a class="code" href="struct__TidyInputSource.html#a4c318270e25e2e4dd9506cb04542b7d8">getByte</a>;     <span class="comment">/**&lt; Pointer to &quot;get byte&quot; callback */</span>
-<a name="l00565"></a><a class="code" href="struct__TidyInputSource.html#a8bb61c749e1295207cd92752e63ae505">00565</a>   <a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a>   <a class="code" href="struct__TidyInputSource.html#a8bb61c749e1295207cd92752e63ae505">ungetByte</a>;   <span class="comment">/**&lt; Pointer to &quot;unget&quot; callback */</span>
-<a name="l00566"></a><a class="code" href="struct__TidyInputSource.html#af90ba85f6caffb1321a8fe3ef4b7bebb">00566</a>   <a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>         <a class="code" href="struct__TidyInputSource.html#af90ba85f6caffb1321a8fe3ef4b7bebb">eof</a>;         <span class="comment">/**&lt; Pointer to &quot;eof&quot; callback */</span>
-<a name="l00567"></a>00567 } <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>;
-<a name="l00568"></a>00568 <span class="comment"></span>
-<a name="l00569"></a>00569 <span class="comment">/** Facilitates user defined source by providing</span>
-<a name="l00570"></a>00570 <span class="comment">**  an entry point to marshal pointers-to-functions.</span>
-<a name="l00571"></a>00571 <span class="comment">**  Needed by .NET and possibly other language bindings.</span>
-<a name="l00572"></a>00572 <span class="comment">*/</span>
-<a name="l00573"></a>00573 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#gab446af273e331cb0440dd01b6990d2d0">tidyInitSource</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>*  source,
-<a name="l00574"></a>00574                                           <span class="keywordtype">void</span>*             srcData,
-<a name="l00575"></a>00575                                           <a class="code" href="group__IO.html#ga6951f79d4b50288e96a3896ab01393d6">TidyGetByteFunc</a>   gbFunc,
-<a name="l00576"></a>00576                                           <a class="code" href="group__IO.html#ga298b882c5fc7cc969ef58fb187bdd371">TidyUngetByteFunc</a> ugbFunc,
-<a name="l00577"></a>00577                                           <a class="code" href="group__IO.html#ga9f8e1bb4c4740ffb399ec424594c4972">TidyEOFFunc</a>       endFunc );
-<a name="l00578"></a>00578 <span class="comment"></span>
-<a name="l00579"></a>00579 <span class="comment">/** Helper: get next byte from input source */</span>
-<a name="l00580"></a>00580 TIDY_EXPORT uint TIDY_CALL <a class="code" href="group__IO.html#gadba396ffec9f29b27d73a23264dcfa0b">tidyGetByte</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source );
-<a name="l00581"></a>00581 <span class="comment"></span>
-<a name="l00582"></a>00582 <span class="comment">/** Helper: unget byte back to input source */</span>
-<a name="l00583"></a>00583 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL <a class="code" href="group__IO.html#ga0c8d46de315cabb0ac7d2cf01ca183d7">tidyUngetByte</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source, uint byteValue );
-<a name="l00584"></a>00584 <span class="comment"></span>
-<a name="l00585"></a>00585 <span class="comment">/** Helper: check if input source at end */</span>
-<a name="l00586"></a>00586 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#ga399df5ba17614205964a665f7b1726a6">tidyIsEOF</a>( <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source );
-<a name="l00587"></a>00587 
-<a name="l00588"></a>00588 
-<a name="l00589"></a>00589 <span class="comment">/****************</span>
-<a name="l00590"></a>00590 <span class="comment">   Output Sink</span>
-<a name="l00591"></a>00591 <span class="comment">****************/</span><span class="comment"></span>
-<a name="l00592"></a>00592 <span class="comment">/** Output callback: send a byte to output */</span>
-<a name="l00593"></a><a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">00593</a> <span class="keyword">typedef</span> void (TIDY_CALL *<a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a>)( <span class="keywordtype">void</span>* sinkData, byte bt );
-<a name="l00594"></a>00594 
-<a name="l00595"></a>00595 <span class="comment"></span>
-<a name="l00596"></a>00596 <span class="comment">/** TidyOutputSink - accepts raw bytes of output</span>
-<a name="l00597"></a>00597 <span class="comment">*/</span>
-<a name="l00598"></a>00598 TIDY_STRUCT
-<a name="l00599"></a><a class="code" href="struct__TidyOutputSink.html">00599</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__TidyOutputSink.html">_TidyOutputSink</a>
-<a name="l00600"></a>00600 {
-<a name="l00601"></a>00601   <span class="comment">/* Instance data */</span>
-<a name="l00602"></a><a class="code" href="struct__TidyOutputSink.html#a8ea61dfa1ce4ba41a7a9c50b7729ab8a">00602</a>   <span class="keywordtype">void</span>*               <a class="code" href="struct__TidyOutputSink.html#a8ea61dfa1ce4ba41a7a9c50b7729ab8a">sinkData</a>;  <span class="comment">/**&lt; Output context.  Passed to callbacks */</span>
-<a name="l00603"></a>00603 
-<a name="l00604"></a>00604   <span class="comment">/* Methods */</span>
-<a name="l00605"></a><a class="code" href="struct__TidyOutputSink.html#a0b392463d9767dc9fbed2f524fbe7407">00605</a>   <a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a>     <a class="code" href="struct__TidyOutputSink.html#a0b392463d9767dc9fbed2f524fbe7407">putByte</a>;   <span class="comment">/**&lt; Pointer to &quot;put byte&quot; callback */</span>
-<a name="l00606"></a>00606 } <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>;
-<a name="l00607"></a>00607 <span class="comment"></span>
-<a name="l00608"></a>00608 <span class="comment">/** Facilitates user defined sinks by providing</span>
-<a name="l00609"></a>00609 <span class="comment">**  an entry point to marshal pointers-to-functions.</span>
-<a name="l00610"></a>00610 <span class="comment">**  Needed by .NET and possibly other language bindings.</span>
-<a name="l00611"></a>00611 <span class="comment">*/</span>
-<a name="l00612"></a>00612 TIDY_EXPORT Bool TIDY_CALL <a class="code" href="group__IO.html#ga7e93289be3a7253cdf99a96285e6a2d4">tidyInitSink</a>( <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink, 
-<a name="l00613"></a>00613                                         <span class="keywordtype">void</span>*           snkData,
-<a name="l00614"></a>00614                                         <a class="code" href="group__IO.html#ga63bcce5aa5f52e4e2e22aedd750b8bbc">TidyPutByteFunc</a> pbFunc );
-<a name="l00615"></a>00615 <span class="comment"></span>
-<a name="l00616"></a>00616 <span class="comment">/** Helper: send a byte to output */</span>
-<a name="l00617"></a>00617 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL <a class="code" href="group__IO.html#ga2a34772782d7b786e37012fce4cd2425">tidyPutByte</a>( <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink, uint byteValue );
-<a name="l00618"></a>00618 
-<a name="l00619"></a>00619 <span class="comment"></span>
-<a name="l00620"></a>00620 <span class="comment">/** Callback to filter messages by diagnostic level:</span>
-<a name="l00621"></a>00621 <span class="comment">**  info, warning, etc.  Just set diagnostic output </span>
-<a name="l00622"></a>00622 <span class="comment">**  handler to redirect all diagnostics output.  Return true</span>
-<a name="l00623"></a>00623 <span class="comment">**  to proceed with output, false to cancel.</span>
-<a name="l00624"></a>00624 <span class="comment">*/</span>
-<a name="l00625"></a><a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">00625</a> <span class="keyword">typedef</span> Bool (TIDY_CALL *<a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">TidyReportFilter</a>)( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, TidyReportLevel lvl,
-<a name="l00626"></a>00626                                            uint line, uint col, ctmbstr mssg );
-<a name="l00627"></a>00627 <span class="comment"></span>
-<a name="l00628"></a>00628 <span class="comment">/** Give Tidy a filter callback to use */</span>
-<a name="l00629"></a>00629 TIDY_EXPORT Bool TIDY_CALL    <a class="code" href="group__IO.html#ga51e02523601388bb83c2555b995e68b0">tidySetReportFilter</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00630"></a>00630                                                   <a class="code" href="group__IO.html#ga29c5bee28b95924a97ea4fbb81668c5e">TidyReportFilter</a> filtCallback );
-<a name="l00631"></a>00631 <span class="comment"></span>
-<a name="l00632"></a>00632 <span class="comment">/** Set error sink to named file */</span>
-<a name="l00633"></a>00633 TIDY_EXPORT FILE* TIDY_CALL   <a class="code" href="group__IO.html#ga669758031bbd5d4ba957b19e77229c8b">tidySetErrorFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr errfilnam );<span class="comment"></span>
-<a name="l00634"></a>00634 <span class="comment">/** Set error sink to given buffer */</span>
-<a name="l00635"></a>00635 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL     <a class="code" href="group__IO.html#ga5e5cffe93edf4bea0d3214be70d6f77b">tidySetErrorBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* errbuf );<span class="comment"></span>
-<a name="l00636"></a>00636 <span class="comment">/** Set error sink to given generic sink */</span>
-<a name="l00637"></a>00637 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL     <a class="code" href="group__IO.html#gad47c75f3af85e7927e7ac18918ec6363">tidySetErrorSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00638"></a>00638 <span class="comment"></span>
-<a name="l00639"></a>00639 <span class="comment">/** @} end IO group */</span>
-<a name="l00640"></a>00640 
-<a name="l00641"></a>00641 <span class="comment">/* TODO: Catalog all messages for easy translation</span>
-<a name="l00642"></a>00642 <span class="comment">TIDY_EXPORT ctmbstr     tidyLookupMessage( int errorNo );</span>
-<a name="l00643"></a>00643 <span class="comment">*/</span>
-<a name="l00644"></a>00644 
-<a name="l00645"></a>00645 
-<a name="l00646"></a>00646 <span class="comment"></span>
-<a name="l00647"></a>00647 <span class="comment">/** @defgroup Parse Document Parse</span>
-<a name="l00648"></a>00648 <span class="comment">**</span>
-<a name="l00649"></a>00649 <span class="comment">** Parse markup from a given input source.  String and filename </span>
-<a name="l00650"></a>00650 <span class="comment">** functions added for convenience.  HTML/XHTML version determined</span>
-<a name="l00651"></a>00651 <span class="comment">** from input.</span>
-<a name="l00652"></a>00652 <span class="comment">** @{</span>
-<a name="l00653"></a>00653 <span class="comment">*/</span>
-<a name="l00654"></a>00654 <span class="comment"></span>
-<a name="l00655"></a>00655 <span class="comment">/** Parse markup in named file */</span>
-<a name="l00656"></a>00656 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga5ec263f2e430dd9c9e10437f067b2a28">tidyParseFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00657"></a>00657 <span class="comment"></span>
-<a name="l00658"></a>00658 <span class="comment">/** Parse markup from the standard input */</span>
-<a name="l00659"></a>00659 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga96b41ff6e6a7f9d0b9b0e901e33ad31d">tidyParseStdin</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00660"></a>00660 <span class="comment"></span>
-<a name="l00661"></a>00661 <span class="comment">/** Parse markup in given string */</span>
-<a name="l00662"></a>00662 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#ga50c02fa244dcd120ae339719c2132ff9">tidyParseString</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr content );
-<a name="l00663"></a>00663 <span class="comment"></span>
-<a name="l00664"></a>00664 <span class="comment">/** Parse markup in given buffer */</span>
-<a name="l00665"></a>00665 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#gaa28ce34c95750f150205843885317851">tidyParseBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* buf );
-<a name="l00666"></a>00666 <span class="comment"></span>
-<a name="l00667"></a>00667 <span class="comment">/** Parse markup in given generic input source */</span>
-<a name="l00668"></a>00668 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Parse.html#gaa65dad2a4ca5fa97d267ddefe1180e0e">tidyParseSource</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga86fcc3c86bd63b26a559938bc38d34bb">TidyInputSource</a>* source);
-<a name="l00669"></a>00669 <span class="comment"></span>
-<a name="l00670"></a>00670 <span class="comment">/** @} End Parse group */</span>
-<a name="l00671"></a>00671 
-<a name="l00672"></a>00672 <span class="comment"></span>
-<a name="l00673"></a>00673 <span class="comment">/** @defgroup Clean Diagnostics and Repair</span>
-<a name="l00674"></a>00674 <span class="comment">**</span>
-<a name="l00675"></a>00675 <span class="comment">** @{</span>
-<a name="l00676"></a>00676 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00677"></a>00677 <span class="comment">/** Execute configured cleanup and repair operations on parsed markup */</span>
-<a name="l00678"></a>00678 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Clean.html#ga11fd23eeb4acfaa0f9501effa0c21269">tidyCleanAndRepair</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00679"></a>00679 <span class="comment"></span>
-<a name="l00680"></a>00680 <span class="comment">/** Run configured diagnostics on parsed and repaired markup. </span>
-<a name="l00681"></a>00681 <span class="comment">**  Must call tidyCleanAndRepair() first.</span>
-<a name="l00682"></a>00682 <span class="comment">*/</span>
-<a name="l00683"></a>00683 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Clean.html#ga6170500974cc02114f6e4a29d44b7d77">tidyRunDiagnostics</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00684"></a>00684 <span class="comment"></span>
-<a name="l00685"></a>00685 <span class="comment">/** @} end Clean group */</span>
-<a name="l00686"></a>00686 
-<a name="l00687"></a>00687 <span class="comment"></span>
-<a name="l00688"></a>00688 <span class="comment">/** @defgroup Save Document Save Functions</span>
-<a name="l00689"></a>00689 <span class="comment">**</span>
-<a name="l00690"></a>00690 <span class="comment">** Save currently parsed document to the given output sink.  File name</span>
-<a name="l00691"></a>00691 <span class="comment">** and string/buffer functions provided for convenience.</span>
-<a name="l00692"></a>00692 <span class="comment">** @{</span>
-<a name="l00693"></a>00693 <span class="comment">*/</span>
-<a name="l00694"></a>00694 <span class="comment"></span>
-<a name="l00695"></a>00695 <span class="comment">/** Save to named file */</span>
-<a name="l00696"></a>00696 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga19ee6e2ee0e719a97cff443ebb19ae44">tidySaveFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr filename );
-<a name="l00697"></a>00697 <span class="comment"></span>
-<a name="l00698"></a>00698 <span class="comment">/** Save to standard output (FILE*) */</span>
-<a name="l00699"></a>00699 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga6638d1800ee63fc6bea19bc2bf582be2">tidySaveStdout</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00700"></a>00700 <span class="comment"></span>
-<a name="l00701"></a>00701 <span class="comment">/** Save to given TidyBuffer object */</span>
-<a name="l00702"></a>00702 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#ga7e8642262c8c4d34cf7cc426647d29f0">tidySaveBuffer</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="struct__TidyBuffer.html">TidyBuffer</a>* buf );
-<a name="l00703"></a>00703 <span class="comment"></span>
-<a name="l00704"></a>00704 <span class="comment">/** Save document to application buffer.  If buffer is not big enough,</span>
-<a name="l00705"></a>00705 <span class="comment">**  ENOMEM will be returned and the necessary buffer size will be placed</span>
-<a name="l00706"></a>00706 <span class="comment">**  in *buflen.</span>
-<a name="l00707"></a>00707 <span class="comment">*/</span>
-<a name="l00708"></a>00708 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#gaf684fefd3e42f459cf0a4ebe937ce12b">tidySaveString</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc,
-<a name="l00709"></a>00709                                                  tmbstr buffer, uint* buflen );
-<a name="l00710"></a>00710 <span class="comment"></span>
-<a name="l00711"></a>00711 <span class="comment">/** Save to given generic output sink */</span>
-<a name="l00712"></a>00712 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Save.html#gaea985b28470453d0218092b137f71e77">tidySaveSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00713"></a>00713 <span class="comment"></span>
-<a name="l00714"></a>00714 <span class="comment">/** @} end Save group */</span>
-<a name="l00715"></a>00715 
-<a name="l00716"></a>00716 <span class="comment"></span>
-<a name="l00717"></a>00717 <span class="comment">/** @addtogroup Basic</span>
-<a name="l00718"></a>00718 <span class="comment">** @{</span>
-<a name="l00719"></a>00719 <span class="comment">*/</span><span class="comment"></span>
-<a name="l00720"></a>00720 <span class="comment">/** Save current settings to named file.</span>
-<a name="l00721"></a>00721 <span class="comment">    Only non-default values are written. */</span>
-<a name="l00722"></a>00722 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gaaa6e0510b0d7ca0524c928143488c6ca">tidyOptSaveFile</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, ctmbstr cfgfil );
-<a name="l00723"></a>00723 <span class="comment"></span>
-<a name="l00724"></a>00724 <span class="comment">/** Save current settings to given output sink.</span>
-<a name="l00725"></a>00725 <span class="comment">    Only non-default values are written. */</span>
-<a name="l00726"></a>00726 TIDY_EXPORT <span class="keywordtype">int</span> TIDY_CALL         <a class="code" href="group__Basic.html#gabf30cc37e3e7aa07dd351f083ab747ee">tidyOptSaveSink</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc, <a class="code" href="group__IO.html#ga6bdd15de48364d2b5dbf2141109d3f98">TidyOutputSink</a>* sink );
-<a name="l00727"></a>00727 
-<a name="l00728"></a>00728 
-<a name="l00729"></a>00729 <span class="comment">/* Error reporting functions </span>
-<a name="l00730"></a>00730 <span class="comment">*/</span>
-<a name="l00731"></a>00731 <span class="comment"></span>
-<a name="l00732"></a>00732 <span class="comment">/** Write more complete information about errors to current error sink. */</span>
-<a name="l00733"></a>00733 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#ga4c050ea7d2746db948ad45edb2264d70">tidyErrorSummary</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00734"></a>00734 <span class="comment"></span>
-<a name="l00735"></a>00735 <span class="comment">/** Write more general information about markup to current error sink. */</span>
-<a name="l00736"></a>00736 TIDY_EXPORT <span class="keywordtype">void</span> TIDY_CALL        <a class="code" href="group__Basic.html#ga28384bf13bf6962c8ef0bcab9b4b7971">tidyGeneralInfo</a>( <a class="code" href="structTidyDoc.html">TidyDoc</a> tdoc );
-<a name="l00737"></a>00737 <span class="comment"></span>
-<a name="l00738"></a>00738 <span class="comment">/** @} end Basic group (again) */</span>
-<a name="l00739"></a>00739 
-<a name="l00740"></a>00740 <span class="comment"></span>
-<a name="l00741"></a>00741 <span class="comment">/** @defgroup Tree Document Tree</span>
-<a name="l00742"></a>00742 <span class="comment">**</span>
-<a name="l00743"></a>00743 <span class="comment">** A parsed and, optionally, repaired document is</span>
-<a name="l00744"></a>00744 <span class="comment">** represented by Tidy as a Tree, much like a W3C DOM.</span>
-<a name="l00745"></a>00745 <span class="comment">** This tree may be traversed using these functions.</span>
-<a name="l00746"></a>00746 <span class="comment">** The following snippet gives a basic idea how these</span>
-<a name="l00747"></a>00747 <span class="comment">** functions can be used.</span>
-<a name="l00748"></a>00748 <span class="comment">**</span>
-<a name="l00749"></a>00749 <span class="comment">&lt;pre&gt;</span>
-<a name="l00750"></a>00750 <span class="comment">void dumpNode( TidyNode tnod, int indent )</span>
-<a name="l00751"></a>00751 <span class="comment">{</span>
-<a name="l00752"></a>00752 <span class="comment">  TidyNode child;</span>
-<a name="l00753"></a>00753 <span class="comment"></span>
-<a name="l00754"></a>00754 <span class="comment">  for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) )</span>
-<a name="l00755"></a>00755 <span class="comment">  {</span>
-<a name="l00756"></a>00756 <span class="comment">    ctmbstr name;</span>
-<a name="l00757"></a>00757 <span class="comment">    switch ( tidyNodeGetType(child) )</span>
-<a name="l00758"></a>00758 <span class="comment">    {</span>
-<a name="l00759"></a>00759 <span class="comment">    case TidyNode_Root:       name = &quot;Root&quot;;                    break;</span>
-<a name="l00760"></a>00760 <span class="comment">    case TidyNode_DocType:    name = &quot;DOCTYPE&quot;;                 break;</span>
-<a name="l00761"></a>00761 <span class="comment">    case TidyNode_Comment:    name = &quot;Comment&quot;;                 break;</span>
-<a name="l00762"></a>00762 <span class="comment">    case TidyNode_ProcIns:    n

<TRUNCATED>

Mime
View raw message