improve markdown references to FAQ entries

We quasi-canonicalized markdown links to FAQ entries.

**IMPORTANT NOTE**: This is a useful step in completing issue #2417.  This commit is consistent with the top level TODO comment requirements.  Nevertheless, this changes made by this commit needs to be examined and in some cases improved.

A link to an FAQ entry is of the form:

```
FAQ on "[the link text](....faq.html#string)"
    FAQ on "[the link text](....faq.html#string)"
```

The "FAQ" is at the start of the line, or in rare cases is preceded only by whitespace.

The reference to the FAQ starts outside of the markdown link with the string **FAQ ON "**.

After the markdown link is a **"** followed by either the end of line or a single punctuation character such as a period or comma.

We reduced the size of "the link text" that refer to an FAQ to at most 3 words.  In some cases the sentence and/or text surrounding the markdown link to a FAQ may need to be further adjusted to better accommodate this new style.

**IMPORTANT NOTE**: References to a FAQ entry are on a separate line.

p.s. When linking to the `faq.html` file itself, we use markdown of the form "`the [IOCCC FAQ](..../faq.html)`" and place the word "the" outside of the "IOCCC FAQ" link text.

Given the above system (and because references to an FAQ entry is on a separate line), the following command shows links to FAQ entries, sorted by FAQ entry "link #name" so that one may evaluate the way a given FAQ entry is referenced:

```sh
find * -name '*.md' -print0 | xargs0 grep -E '^[[:space:]]*FAQ on "' | sed -e 's/^\([^:]*\):\( *FAQ on "[^#]*\)#\([^)]*\)\()".*\)$/#\3\t\1\t\2#\3\4/' | sort
```

The above command shows the value of consistency when it comes to FAQ references.

**NOTE**: There are a few differences on how a given FAQ is references.  That is probably OK as there is NOT an "total mandate" that all references to a given FAQ must have the same "link text" for example.  On the other hand if references to a given FAQ can be identical, that might be helpful.  We are certain that in some contexts the "link text" might need to change.

Should we decide to change the way FAQ are referenced, we will be able to modify identify and modify them with greater ease.'

Examine the changes made by this commit and adjust and/or improve as needed.

Performed `make www` to accomplish the above and to test under macOS.
This commit is contained in:
Landon Curt Noll committed 2024-07-17 03:11:19 -07:00
1 parent d852734d98
commit 0bc6c3e413
104 files changed
+1051 -687

No files matched your search

+81 -81
View File
@@ -549,9 +549,9 @@ returning to the shell. The original code does not have this change.</p>
versions of <code>clang</code> object to the number of args of <code>main()</code>, saying that it must
be 0, 2 or 3. The version this has been observed in does not actually object to
1 arg but it is entirely possible that this changes so a second arg (that’s not
needed and is unused) has been added just in case. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
needed and is unused) has been added just in case. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added the script <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1985/august/primes.sh">primes.sh</a> which allows one
to check the output for the first <code>N</code> prime numbers of the output, where <code>N</code> is
either the default or user specified. The inspiration was the previous <code>try</code>
@@ -682,10 +682,10 @@ should they object to <code>main()</code> having only one arg.</p>
<h2 id="winning-entry-1986hague">Winning entry: <a href="1986/hague/index.html">1986/hague</a></h2>
<h3 id="winning-entry-source-code-hague.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1986/hague/hague.c">hague.c</a></h3>
</div>
<p><a href="#cody">Cody</a> made this use <code>fgets()</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1986/hague/try.sh">try.sh</a> script which also feeds to the
<p><a href="#cody">Cody</a> made this use <code>fgets()</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.
Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1986/hague/try.sh">try.sh</a> script which also feeds to the
program the <code>input.txt</code> text file that Cody added.</p>
<div id="1986_holloway">
<h2 id="winning-entry-1986holloway">Winning entry: <a href="1986/holloway/index.html">1986/holloway</a></h2>
@@ -894,9 +894,9 @@ size constraints of the contest).</p>
<h2 id="winning-entry-1987wall">Winning entry: <a href="1987/wall/index.html">1987/wall</a></h2>
<h3 id="winning-entry-source-code-wall.c-1">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1987/wall/wall.c">wall.c</a></h3>
</div>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1987/wall/try.sh">try.sh</a> script.</p>
<div id="1987_westley">
<h2 id="winning-entry-1987westley">Winning entry: <a href="1987/westley/index.html">1987/westley</a></h2>
@@ -1009,9 +1009,9 @@ same code, just a <code>p</code> instead of an <code>m</code> in the name. Addit
<h2 id="winning-entry-1988reddy">Winning entry: <a href="1988/reddy/index.html">1988/reddy</a></h2>
<h3 id="winning-entry-source-code-reddy.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/reddy/reddy.c">reddy.c</a></h3>
</div>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<div id="1988_spinellis">
<h2 id="winning-entry-1988spinellis">Winning entry: <a href="1988/spinellis/index.html">1988/spinellis</a></h2>
<h3 id="winning-entry-source-code-spinellis.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/spinellis/spinellis.c">spinellis.c</a></h3>
@@ -1270,9 +1270,9 @@ judges was retained.</p>
</div>
<p><a href="#yusuke">Yusuke</a> got this to work in modern systems (it previously resulted in a bus
error).</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<div id="1990_dds">
<h2 id="winning-entry-1990dds">Winning entry: <a href="1990/dds/index.html">1990/dds</a></h2>
<h3 id="winning-entry-source-code-dds.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/dds/dds.c">dds.c</a></h3>
@@ -1285,9 +1285,9 @@ more like the original in this way by redefining <code>free</code> to have the c
operator itself.</p>
<p>Cody fixed another compiler error by removing the erroneous prototype to
<code>fopen(3)</code>. Cody also changed a <code>char *</code> used for file I/O to be a proper <code>FILE *</code> and fixed a typo in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/dds/LANDER.BAS">LANDER.BAS</a>.</p>
<p>Cody also made this use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p>Cody also made this use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<div id="1990_dg">
<h2 id="winning-entry-1990dg">Winning entry: <a href="1990/dg/index.html">1990/dg</a></h2>
<h3 id="winning-entry-source-code-dg.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/dg/dg.c">dg.c</a></h3>
@@ -1347,9 +1347,9 @@ author.</p>
<p>Cody also changed the code (in both versions) to use <code>fgets(3)</code> instead of
<code>gets(3)</code> so one would not get a warning about the use of <code>gets(3)</code> at linking
time or execution, the latter of which was causing confusing output due to the
warning being interspersed with the program’s interactive output. See <a href="faq.html#gets">FAQ 4.1
- Why were some calls to the libc function gets(3) changed to use
fgets(3)?</a> for more details on why this change was
warning being interspersed with the program’s interactive output. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for more details on why this change was
done more generally.</p>
<div id="1990_theorem">
<h2 id="winning-entry-1990theorem">Winning entry: <a href="1990/theorem/index.html">1990/theorem</a></h2>
@@ -1370,9 +1370,9 @@ but as he was testing the <code>fibonacci.c</code> bug he ended up changing it a
<pre><code> if (a[1]==NULL||a[2]==NULL||a[3]==NULL||a[4]==NULL||a[5]==NULL) return 1;</code></pre>
<p>be changed to just test the value of <code>A</code> when <code>a</code> is argv and <code>A</code> is argc? You
tell us!</p>
<p>Cody also changed the code to use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p>Cody also changed the code to use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<p>Since this program is so incredible the extra fixes were deemed worth having and
this is why they were done.</p>
<p>Cody later disabled a warning in the <code>Makefile</code> that proved to be a problem only
@@ -1481,9 +1481,9 @@ being a problem not being declared first, to hopefully future-proof it.</p>
condition (the <code>char *s</code> had to be changed to <code>char s[]</code>) and he also made it
and the generated code work for <code>clang</code>.</p>
<p>Furthermore Cody changed it so that the C from the BASIC uses <code>fgets()</code>, not
<code>gets()</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<code>gets()</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<p>For the magic of <code>clang</code> (which was done manually except the returning a value
in <code>main()</code> in the generated code and possibly <code>fgets(3)</code>) and <code>fgets(3)</code>, see
below. The problem with <code>clang</code> can be described simply as: <code>clang</code> (at least in
@@ -1643,9 +1643,9 @@ true of another change as further below.</p>
+ putc(i[&quot;}|uutsrq`_^bji`[Zkediml[PO]a_M__]ISOYIRGTNR&quot;]+i-9,stderr);</code></pre>
<p>though it’s questionable how much more (if at all) obscure that is :-)</p>
<p>Cody also changed the location that it used <code>gets()</code> to be <code>fgets(3)</code>.
See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.
See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.
This was complicated because of how the other source files are generated (as
above); simply changing the code could cause invalid output in the program which
made other files fail to compile (for this example specifically, see below).</p>
@@ -1770,9 +1770,9 @@ start and end character.</p>
defect with the number of args to <code>main()</code> though when it comes to 1 arg it is
only in an error message if say 4 args are used. This is out of an abundance of
caution as it’s quite possible that <code>clang</code> or the ANSI C committee end up further
changing this. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
changing this. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Yusuke also noted that there is a bug in the program where right after starting
it moves towards the right but if you click the mouse it goes back. See
<a href="bugs.html#1992_kivinen">1992/kivinen in bugs.html</a> for more details.</p>
@@ -1785,9 +1785,9 @@ it works (see <a href="1992/lush/index.html#judges-remarks">Judges’ remarks in
file</a>) this will not work with <code>clang</code>.</p>
<p><a href="#cody">Cody</a> also provided the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/lush/lush.sh">lush.sh</a> script to
demonstrate it as using make was problematic.</p>
<p>Cody made it use <code>fgets()</code> instead of <code>gets()</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets)3( changed to use
fgets(3)?</a> for why this was done.</p>
<p>Cody made it use <code>fgets()</code> instead of <code>gets()</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<p>NOTE: this entry cannot work with <code>clang</code> due to different compiler messages (it
will compile fine but it won’t work). See <a href="bugs.html#1992_lush">1992/lush in
bugs.html</a> for details.</p>
@@ -1959,9 +1959,9 @@ compile time. See the index.html for details.</p>
<h2 id="winning-entry-1993schnitzi">Winning entry: <a href="1993/schnitzi/index.html">1993/schnitzi</a></h2>
<h3 id="winning-entry-source-code-schnitzi.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/schnitzi/schnitzi.c">schnitzi.c</a></h3>
</div>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code> not <code>gets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code> not <code>gets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<div id="1993_vanb">
<h2 id="winning-entry-1993vanb">Winning entry: <a href="1993/vanb/index.html">1993/vanb</a></h2>
<h3 id="winning-entry-source-code-vanb.c-1">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/vanb/vanb.c">vanb.c</a></h3>
@@ -2050,9 +2050,9 @@ comma operator was needed.</p>
type (because <code>time(2)</code> takes a <code>time_t *</code> which in some systems is a <code>long *</code>
but what was being passed to it is an <code>int</code>).</p>
<p>Cody also changed the entry to use <code>fgets(3)</code> instead of <code>gets(3)</code>.
(See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.)</p>
(See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.)</p>
<p>This one has
a minor annoyance in that it now prints a newline after the output but this
seems like a worthy compromise for preventing the interspersed output in macOS
@@ -2113,9 +2113,9 @@ remarks), <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994
each mode allowed with two sizes, 128 and 256, allowing one to quit or skip each
(given that there are a lot of invocations this seemed like a good idea).</p>
<p>Cody also made this use <code>fgets(3)</code> instead of <code>gets(3)</code>.
See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets)3( changed to use
fgets(3)?</a> for why this was done.
See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
]for why this was done.
In this case the newline had
to be terminated but it was a pretty straightforward fix. <code>gets()</code> was defined
to use <code>fgets()</code> and the inclusion of <code>stdio.h</code> had to be added but to make it
@@ -2164,9 +2164,9 @@ details on this.</p>
type of args. In particular some versions supposedly only allow 0, 2 or 3 args.
It actually appears to allow 1 but if you specify 4 it says 0, 2 or 3 and it is
an error but it’s entirely possible that they will eventually make the defect
function as the error message claims. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
function as the error message claims. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<div id="1995_dodsond1">
<h2 id="winning-entry-1995dodsond1">Winning entry: <a href="1995/dodsond1/index.html">1995/dodsond1</a></h2>
<h3 id="winning-entry-source-code-dodsond1.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/dodsond1/dodsond1.c">dodsond1.c</a></h3>
@@ -2381,9 +2381,9 @@ versions of <code>clang</code> whine about the number of args on top of what typ
In particular some versions claim that they only allow 0, 2 or 3 args. It
appears that they do allow 1 but for instance 4 is not allowed. However as it’s
quite possible they will ‘fix’ this defect it would be better to have this not
be a problem at such a time. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
be a problem at such a time. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/bas1/bas1.sh">bas1.sh</a> script to simplify running the
program.</p>
<div id="1998_bas2">
@@ -2451,9 +2451,9 @@ versions of <code>clang</code> complain about the number of args to <code>main()
claim that only 0, 2 or 3 are allowed but it does allow 1 anyway. It is quite
possible though that this will change so it is fixed in case this happens. As it
is mostly just through the C pre-processor Cody added a new macro to make the
code look like the original with just an extra arg. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
code look like the original with just an extra arg. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>In some versions of <code>clang</code> <code>-Wno-int-conversion</code> had to be added to the
<code>CSILENCE</code> variable of the Makefile.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/fanf/try.sh">try.sh</a> script to show the output of some
@@ -2550,9 +2550,9 @@ occurs.</p>
<p>Cody made <code>main()</code> have two args out of an abundance of caution as some versions
of <code>clang</code> say that <code>main()</code> can only have 0, 2 or 3 args. These versions accept 1
arg but it is entirely possible that they fix this so this should prevent it
from breaking if that happens. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
from breaking if that happens. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/schweikh3/try.sh">try.sh</a> script to make it easier to try
the commands that we suggested. One command was not added, that of the to use
command.</p>
@@ -2589,9 +2589,9 @@ commands that we recommended.</p>
<h3 id="winning-entry-source-code-anderson.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson//anderson.c">anderson.c</a></h3>
</div>
<p><a href="#cody">Cody</a> changed this entry to use <code>fgets(3)</code> instead of <code>gets(3)</code>.
See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.
See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.
This involved changing the <code>K</code> arg to <code>gets(3)</code> to <code>&amp;K</code> in <code>fgets(3)</code>.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/anderson/try.sh">try.sh</a> script.</p>
<div id="2000_bmeyer">
@@ -3082,9 +3082,9 @@ a lot of numbers this will be harder to see).</p>
discovered it will not work otherwise.</p>
<p>Cody, out of an abundance of caution for <code>clang</code>, added a second arg to <code>main()</code>
as some versions complain about the number of args and although they accept 1 it
is entirely possible it will eventually be that they don’t. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
is entirely possible it will eventually be that they don’t. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/kopczynski/try.sh">try.sh</a> script and various data
files: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/kopczynski/kopczynski-a">kopczynski-a</a> to demonstrate what happens when art more
like a letter is fed to the program and the <code>kopczynski*-rev</code> files which are
@@ -3107,9 +3107,9 @@ chose the word <code>IOCCC</code> instead of <code>AAA</code>).</p>
<h2 id="winning-entry-2004schnitzi">Winning entry: <a href="2004/schnitzi/index.html">2004/schnitzi</a></h2>
<h3 id="winning-entry-source-code-schnitzi.c-4">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/schnitzi//schnitzi.c">schnitzi.c</a></h3>
</div>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See <a href="faq.html#gets">FAQ 4.1 - Why were some calls to
the libc function gets(3) changed to use
fgets(3)?</a> for why this was done.</p>
<p><a href="#cody">Cody</a> made this use <code>fgets(3)</code>. See
FAQ on “<a href="faq.html#gets">gets and fgets</a>”
for why this was done.</p>
<p>He also changed the time factor in the data files as the animations went too
fast in modern systems, especially the scrolling text of
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/schnitzi/schnitzi.inp1">schnitzi.inp1</a>.</p>
@@ -3472,9 +3472,9 @@ it to the repo as well.</p>
</div>
<p><a href="#cody">Cody</a>, out of an abundance of caution for <code>clang</code>’s defects, made <code>main()</code> have
2 args instead of 1 as some versions report that <code>main()</code> must have 0, 2 or 3
args, even though at least one of those versions allows 1 arg only. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
args, even though at least one of those versions allows 1 arg only. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/sykes2/try.sh">try.sh</a> script for easier use of the
entry to show the clock update in real time.</p>
<div id="2006_toledo1">
@@ -3530,9 +3530,9 @@ We’re not able to test this.</p>
</div>
<p><a href="#cody">Cody</a>, out of an abundance of caution, added a second arg to <code>main()</code> as some
versions of <code>clang</code> complain about not only the type of each arg to <code>main()</code> but
the number of args as well. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
the number of args as well. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/borsanyi/try.sh">try.sh</a> script.</p>
<div id="2011_dlowe">
<h2 id="winning-entry-2011dlowe">Winning entry: <a href="2011/dlowe/index.html">2011/dlowe</a></h2>
@@ -3702,9 +3702,9 @@ everything, filtered through less.</p>
<p>Cody also changed <code>argv</code> to be not <code>const char **</code> but <code>char **</code>, mostly out of an
abundance of caution in case <code>clang</code>, which already imposes restrictions on the
types of args to <code>main()</code> including to do with <code>char **</code>, decides to further
restrict them. See <a href="faq.html#arg_count">FAQ 4.6 - Why was arg
count and/or type changed in main() in some older
entries?</a> for more details.</p>
restrict them. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also restored the original code from the archive.</p>
<p>And although the URL works for now (via redirect), Cody changed the website
linked to in the recipe file to the domain that the old one currently redirects
@@ -3918,8 +3918,8 @@ also appear to be an issue with the script even if you know of <code>convert</co
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh3/try.sh">try.sh</a> script.</p>
<p>Cody also (out of an abundance of caution for <code>clang(1)</code> which is strict with
arg type and count to <code>main()</code>) added a second (unused) arg to <code>main()</code>. See
<a href="faq.html#arg_count">FAQ 4.6 - Why was arg count and/or type changed in main() in some
older entries?</a> for more details.</p>
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<div id="2013_endoh4">
<h2 id="winning-entry-2013endoh4">Winning entry: <a href="2013/endoh4/index.html">2013/endoh4</a></h2>
<h3 id="winning-entry-source-code-endoh4.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/endoh4//endoh4.c">endoh4.c</a></h3>
@@ -4272,9 +4272,9 @@ the repo.</p>
some versions of <code>clang</code> object to the number of args of <code>main()</code>, saying that it
must be 0, 2 or 3. The version this has been observed in does not actually
object to 1 arg but it is entirely possible that this changes so a second arg
(that’s not needed and is unused) has been added just in case. See <a href="faq.html#arg_count">FAQ 4.6 -
Why was arg count and/or type changed in main() in some older
entries?</a> for more details.</p>
(that’s not needed and is unused) has been added just in case. See
FAQ on “<a href="faq.html#arg_count">main function args</a>”
for more details.</p>
<p>Cody also added explicit linking of libm (<code>-lm</code>) for systems that do not do this
(Linux doesn’t seem to but macOS does).</p>
<p>Cody also added <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/bellard/prog.alt.c">alternate code</a> that should