force use of pandoc version >= 3.1.12.2

The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.

We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.

Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".

Performed `make www` to achieve all of the above and to generate
HTML using the new  `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+42 -64
View File
@@ -129,9 +129,9 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Glyn_Anderson">Glyn
Anderson</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
<em>Unknown location</em> <br><br></li>
<li>Name: <a href="../../authors.html#Glyn_Anderson">Glyn Anderson</a><br>
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -153,15 +153,13 @@ signal your distress to passing ships.</p>
very cleverly obscured without the use of a single <code>#define</code>!
Reformatting this program by hand :-) is the easiest way to understand
what is going on.</p>
<h3 id="note-about-defines-not-being-used">Note about
<code>#define</code>s not being used:</h3>
<p>In 2023 due to annoying warnings triggered at different times,
sometimes interspersed with the output of the program (this happens in
macOS), many entries were changed to use <code>fgets(3)</code> instead.
However to make the entries more like the original we redefined
<code>gets</code> to use <code>fgets</code>. Unfortunately it’s not
possible to do it through <code>-Dfoo</code> compiler options so there
is a <code>#define</code> in the code now.</p>
<h3 id="note-about-defines-not-being-used">Note about <code>#define</code>s not being used:</h3>
<p>In 2023 due to annoying warnings triggered at different times, sometimes
interspersed with the output of the program (this happens in macOS), many
entries were changed to use <code>fgets(3)</code> instead. However to make the entries more
like the original we redefined <code>gets</code> to use <code>fgets</code>. Unfortunately it’s not
possible to do it through <code>-Dfoo</code> compiler options so there is a <code>#define</code> in
the code now.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>This program is a simple filter that translates ASCII text into
semaphore code. It reads from standard input and converts all
@@ -184,74 +182,54 @@ input “Hello, world!”, the output will be:</p>
][ &lt;&gt;][ ][] [][]
</code></pre>
<p>The program is obfuscated without the use of the preprocessor or any
special compilation parameters. In fact, the program doesn’t even bother
using any keywords, save the single <code>char</code> at the beginning.
special compilation parameters. In fact, the program doesn’t even
bother using any keywords, save the single <code>char</code> at the beginning.
This program was crafted using only operator precedence rules,
short-circuit evaluation and recursion. Each function contains a single,
non-empty statement. (I did have to add a couple of empty statements to
format the code properly.) There is a single string constant which
encodes the flag positions and other data needed for drawing the
semaphore codes.</p>
<p>The preprocessor will provide no help in de-obfuscating this code,
and a C beautifier won’t get you very far either. You just have to
crunch through it.</p>
<p>An ANSI C compiler will generate several warnings when it compiles
this program, as none of the functions declare their return type, nor do
they return anything. This was necessary to keep the program free of
keywords. It’s valid in K&amp;R C, and compiles in ANSI C. There are
also warnings about conversion from <code>int</code> to
<code>char</code> and the resulting loss of data. Again, if it’s OK with
K&amp;R, it’s OK with me.</p>
<p>This program is a great teaching tool for learning the semaphore
code; and if you don’t have any flags handy you can just use two copies
of the source file.</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
Reserved. You are free to share and adapt this file under the terms of
this license:</p>
short-circuit evaluation and recursion. Each function contains a
single, non-empty statement. (I did have to add a couple of empty
statements to format the code properly.) There is a single string
constant which encodes the flag positions and other data needed for
drawing the semaphore codes.</p>
<p>The preprocessor will provide no help in de-obfuscating this code, and a
C beautifier won’t get you very far either. You just have to crunch
through it.</p>
<p>An ANSI C compiler will generate several warnings when it compiles this
program, as none of the functions declare their return type, nor do they
return anything. This was necessary to keep the program free of
keywords. It’s valid in K&amp;R C, and compiles in ANSI C. There are also
warnings about conversion from <code>int</code> to <code>char</code> and the resulting loss of
data. Again, if it’s OK with K&amp;R, it’s OK with me.</p>
<p>This program is a great teaching tool for learning the semaphore code;
and if you don’t have any flags handy you can just use two copies of the
source file.</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:</p>
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
<p>For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/</p>
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<h1 id="inventory-for-2000anderson"><a name="inventory"></a>Inventory
for 2000/anderson</h1>
<h1 id="inventory-for-2000anderson"><a name="inventory"></a>Inventory for 2000/anderson</h1>
<p><a href="#top">Jump to top</a></p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/anderson.c">anderson.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/anderson.orig.c">anderson.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/try.sh">try.sh</a>
- how to run</li>
<li><a href="2000_anderson.tar.bz2">2000_anderson.tar.bz2</a> - download
entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/anderson.c">anderson.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/anderson.orig.c">anderson.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/try.sh">try.sh</a> - how to run</li>
<li><a href="2000_anderson.tar.bz2">2000_anderson.tar.bz2</a> - download entry source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="index.html">index.html</a> - entry home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/.gitignore">.gitignore</a>
- list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href=".path">.path</a> - directory path from top directory</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/README.md">README.md</a> - markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->