Fixes in html files of 1990

This commit is contained in:
Cody Boone Ferguson committed 2024-06-22 06:43:37 -07:00
1 parent c86d5ecd56
commit ec7c48cd59
14 files changed
+60 -36

No files matched your search

+4 -3
View File
@@ -7,8 +7,9 @@ You may then wish to look at the Author's remarks for even more details.
This year, the Grand Prize won a standing ovation at USENIX. This year, the Grand Prize won a standing ovation at USENIX.
The ["Strangest abuse of the rules"](stig/index.html) award was given this The [Strangest abuse of the rules](stig/index.html) award was given this
year to stress the fact that starting in 1991, entries should be shell-specific. year to stress the fact that starting in [1991](../years.html#1991), entries
should be shell-specific.
This year was the first year that we accepted ANSI C entries. It was This year was the first year that we accepted ANSI C entries. It was
interesting to note that the ANSI C entries were as a whole less portable than interesting to note that the ANSI C entries were as a whole less portable than
@@ -20,7 +21,7 @@ her role as official chef of the contest. Her opinions regarding
some of the contest entries were appreciated. some of the contest entries were appreciated.
[Rules](rules.txt) and [results](../years.html#1990) were [Rules](rules.txt) and [results](../years.html#1990) were
posted to comp.lang.c, comp.sources.unix, and alt.sources. They have been made posted to _comp.lang.c_, _comp.sources.unix_, and _alt.sources_. They have been made
available on a wide number of USENET archive sites such as uunet. available on a wide number of USENET archive sites such as uunet.
+1 -1
View File
@@ -45,7 +45,7 @@ than 4, but when I do that I get a complaint "defines nested too deeply".
### Obfuscation spoiler: ### Obfuscation spoiler:
This is another rot13 job (believe it or not) - the `#defines` are a This is another rot13 job (believe it or not) - the `#define`s are a
novel way of adding tokens: `#define b12(x) 12 x` means that at novel way of adding tokens: `#define b12(x) 12 x` means that at
some point in the source a `12` is followed by the compressed nested some point in the source a `12` is followed by the compressed nested
`#define`s. The `b12` gets the previous compression as an argument, and `#define`s. The `b12` gets the previous compression as an argument, and
+1 -1
View File
@@ -419,7 +419,7 @@ which we have done for the wider audience.</p>
<p>If my preprocessor could hack it, I could write this as one single line rather <p>If my preprocessor could hack it, I could write this as one single line rather
than 4, but when I do that I get a complaint “defines nested too deeply”.</p> than 4, but when I do that I get a complaint “defines nested too deeply”.</p>
<h3 id="obfuscation-spoiler">Obfuscation spoiler:</h3> <h3 id="obfuscation-spoiler">Obfuscation spoiler:</h3>
<p>This is another rot13 job (believe it or not) - the <code>#defines</code> are a <p>This is another rot13 job (believe it or not) - the <code>#define</code>s are a
novel way of adding tokens: <code>#define b12(x) 12 x</code> means that at novel way of adding tokens: <code>#define b12(x) 12 x</code> means that at
some point in the source a <code>12</code> is followed by the compressed nested some point in the source a <code>12</code> is followed by the compressed nested
<code>#define</code>s. The <code>b12</code> gets the previous compression as an argument, and <code>#define</code>s. The <code>b12</code> gets the previous compression as an argument, and
+4 -3
View File
@@ -392,8 +392,9 @@ on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does! Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author’s remarks for even more details.</p> You may then wish to look at the Author’s remarks for even more details.</p>
<p>This year, the Grand Prize won a standing ovation at USENIX.</p> <p>This year, the Grand Prize won a standing ovation at USENIX.</p>
<p>The <a href="stig/index.html">“Strangest abuse of the rules”</a> award was given this <p>The <a href="stig/index.html">Strangest abuse of the rules</a> award was given this
year to stress the fact that starting in 1991, entries should be shell-specific.</p> year to stress the fact that starting in <a href="../years.html#1991">1991</a>, entries
should be shell-specific.</p>
<p>This year was the first year that we accepted ANSI C entries. It was <p>This year was the first year that we accepted ANSI C entries. It was
interesting to note that the ANSI C entries were as a whole less portable than interesting to note that the ANSI C entries were as a whole less portable than
the K&amp;R C entries. We hope that in future contests people will enter more the K&amp;R C entries. We hope that in future contests people will enter more
@@ -402,7 +403,7 @@ obfuscated and challenging ANSI C programs.</p>
her role as official chef of the contest. Her opinions regarding her role as official chef of the contest. Her opinions regarding
some of the contest entries were appreciated.</p> some of the contest entries were appreciated.</p>
<p><a href="rules.txt">Rules</a> and <a href="../years.html#1990">results</a> were <p><a href="rules.txt">Rules</a> and <a href="../years.html#1990">results</a> were
posted to comp.lang.c, comp.sources.unix, and alt.sources. They have been made posted to <em>comp.lang.c</em>, <em>comp.sources.unix</em>, and <em>alt.sources</em>. They have been made
available on a wide number of USENET archive sites such as uunet.</p> available on a wide number of USENET archive sites such as uunet.</p>
<h2 id="final-comments">Final Comments</h2> <h2 id="final-comments">Final Comments</h2>
<p><strong>IMPORTANT NOTE</strong>: See <a href="../contact.html">contact.html</a> for up to date contact details <p><strong>IMPORTANT NOTE</strong>: See <a href="../contact.html">contact.html</a> for up to date contact details
+4 -6
View File
@@ -28,12 +28,10 @@ ISO character set.
The Author sent us this note after he was informed that he won: The Author sent us this note after he was informed that he won:
``` > Although I am quite grateful for the "`ANSI Committee's Worst Abuse of C`" title
Although I am quite grateful for the "ANSI Committee's Worst Abuse of C" title (were you aware that I am a member of the committee or is the double meaning
(were you aware that I am a member of the committee or is the double meaning unintentional?), I was really hoping for something more along the lines of
unintentional?), I was really hoping for something more along the lines of "`Closest Resemblance to Line Noise`." :-)
"Closest Resemblance to Line Noise." :-)
```
... it was unintentional. ... it was unintentional.
+6 -4
View File
@@ -413,10 +413,12 @@ was a dark and stormy night for C when the ANSI C committee added trigraphs to
the standard. Too bad that they didn’t just simply require a more reasonable the standard. Too bad that they didn’t just simply require a more reasonable
ISO character set.</p> ISO character set.</p>
<p>The Author sent us this note after he was informed that he won:</p> <p>The Author sent us this note after he was informed that he won:</p>
<pre><code> Although I am quite grateful for the &quot;ANSI Committee&#39;s Worst Abuse of C&quot; title <blockquote>
(were you aware that I am a member of the committee or is the double meaning <p>Although I am quite grateful for the “<code>ANSI Committee's Worst Abuse of C</code>” title
unintentional?), I was really hoping for something more along the lines of (were you aware that I am a member of the committee or is the double meaning
&quot;Closest Resemblance to Line Noise.&quot; :-)</code></pre> unintentional?), I was really hoping for something more along the lines of
“<code>Closest Resemblance to Line Noise</code>.” :-)</p>
</blockquote>
<p>… it was unintentional.</p> <p>… it was unintentional.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>Since this year’s contest is dedicated to ANSI C, here is a strictly conforming <p>Since this year’s contest is dedicated to ANSI C, here is a strictly conforming
+2 -2
View File
@@ -11,7 +11,7 @@
make all make all
``` ```
NOTE: that's not a typo or mistake but one can also do: **NOTE**: that's not a typo or mistake but one can also do:
``` <!---sh--> ``` <!---sh-->
./o ./o
@@ -25,7 +25,7 @@ C-shell alias to a Bourne-like shell alias.
Note that `shst.c` is renamed to [stig.c](%%REPO_URL%%/1990/stig/stig.c) in the distribution. Note that `shst.c` is renamed to [stig.c](%%REPO_URL%%/1990/stig/stig.c) in the distribution.
WARNING: This program's `how to compile` is too specific to a particular shell. **WARNING**: This program's `how to compile` is too specific to a particular shell.
The obfuscation of this program is more related to shell obfuscation than C The obfuscation of this program is more related to shell obfuscation than C
obfuscation. This type of entry will not be permitted in future contests. obfuscation. This type of entry will not be permitted in future contests.
+2 -2
View File
@@ -405,13 +405,13 @@ Location: <a href="../../location.html#NO">NO</a> - <em>Kingdom of Norway</em> (
<pre><code> make all</code></pre> <pre><code> make all</code></pre>
<h2 id="to-use">To use:</h2> <h2 id="to-use">To use:</h2>
<pre><code> make all</code></pre> <pre><code> make all</code></pre>
<p>NOTE: that’s not a typo or mistake but one can also do:</p> <p><strong>NOTE</strong>: that’s not a typo or mistake but one can also do:</p>
<pre><code> ./o</code></pre> <pre><code> ./o</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>We changed the alias that the author’s suggested alias from a <p>We changed the alias that the author’s suggested alias from a
C-shell alias to a Bourne-like shell alias.</p> C-shell alias to a Bourne-like shell alias.</p>
<p>Note that <code>shst.c</code> is renamed to <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/stig/stig.c">stig.c</a> in the distribution.</p> <p>Note that <code>shst.c</code> is renamed to <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/stig/stig.c">stig.c</a> in the distribution.</p>
<p>WARNING: This program’s <code>how to compile</code> is too specific to a particular shell. <p><strong>WARNING</strong>: This program’s <code>how to compile</code> is too specific to a particular shell.
The obfuscation of this program is more related to shell obfuscation than C The obfuscation of this program is more related to shell obfuscation than C
obfuscation. This type of entry will not be permitted in future contests.</p> obfuscation. This type of entry will not be permitted in future contests.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
+5 -4
View File
@@ -77,7 +77,7 @@ documented, are not considered bugs as such in the context of the contest.
## Alternate code: ## Alternate code:
The authors supplied us with a slightly smaller unformatted version The authors supplied us with a slightly smaller unformatted version
of the program which we include below: of the program:
``` <!---c--> ``` <!---c-->
#define D ,close( #define D ,close(
@@ -92,9 +92,10 @@ of the program which we include below:
e(x){x<0?write(2,"?\n$ "-x/4,2),x+1||(exit(1),0):5;} e(x){x<0?write(2,"?\n$ "-x/4,2),x+1||(exit(1),0):5;}
``` ```
and in the [alternate source](%%REPO_URL%%/1990/tbr/tbr.alt.c). It has the `exit()` returns `void` fix This is the [alternate source](%%REPO_URL%%/1990/tbr/tbr.alt.c) except that it
as well as the `gets()` to `fgets()` fix applied to it to make it functionally has the `exit()` returns `void` fix as well as the `gets(3)` to `fgets(3)` fix
equivalent like the authors intended. applied to it to make it functionally equivalent like the authors intended. The
above code is their original alternate code.
### Alternate build: ### Alternate build:
+5 -4
View File
@@ -449,7 +449,7 @@ just <code>exit</code> or <code>logout</code>? Hint: see the authors’ remarks.
documented, are not considered bugs as such in the context of the contest.</p> documented, are not considered bugs as such in the context of the contest.</p>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>The authors supplied us with a slightly smaller unformatted version <p>The authors supplied us with a slightly smaller unformatted version
of the program which we include below:</p> of the program:</p>
<pre><code> #define D ,close( <pre><code> #define D ,close(
char*c,q[512],m[256],*v[99],**u,*i[3];int f[2],p;main(){for(m[m[60]=m[62]= char*c,q[512],m[256],*v[99],**u,*i[3];int f[2],p;main(){for(m[m[60]=m[62]=
32]=m[*m=124[m]=9]=6;e(-8),gets(1+(c=q))||(exit(0),0);r(0,0))for(;*++c;);} 32]=m[*m=124[m]=9]=6;e(-8),gets(1+(c=q))||(exit(0),0);r(0,0))for(;*++c;);}
@@ -460,9 +460,10 @@ of the program which we include below:</p>
0),e(open(*i,0)):5,t?dup2(t,1)D t):i[2]?9 D 0),e(open(*i,0)):5,t?dup2(t,1)D t):i[2]?9 D
1),e(creat(i[2],438)):2,e(execvp(*u,u))):e(chdir(u[1])*2):6;} 1),e(creat(i[2],438)):2,e(execvp(*u,u))):e(chdir(u[1])*2):6;}
e(x){x&lt;0?write(2,&quot;?\n$ &quot;-x/4,2),x+1||(exit(1),0):5;}</code></pre> e(x){x&lt;0?write(2,&quot;?\n$ &quot;-x/4,2),x+1||(exit(1),0):5;}</code></pre>
<p>and in the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/tbr/tbr.alt.c">alternate source</a>. It has the <code>exit()</code> returns <code>void</code> fix <p>This is the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/tbr/tbr.alt.c">alternate source</a> except that it
as well as the <code>gets()</code> to <code>fgets()</code> fix applied to it to make it functionally has the <code>exit()</code> returns <code>void</code> fix as well as the <code>gets(3)</code> to <code>fgets(3)</code> fix
equivalent like the authors intended.</p> applied to it to make it functionally equivalent like the authors intended. The
above code is their original alternate code.</p>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<pre><code> make alt</code></pre> <pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
+9 -2
View File
@@ -4,6 +4,10 @@
make all make all
``` ```
There is an alternate version for those with an old enough compiler or for those
who wish to see how C changed over the years. See [Alternate
code](#alternate-code) below.
### Bugs and (Mis)features: ### Bugs and (Mis)features:
@@ -40,7 +44,8 @@ The alternate code is provided to show how C changed.
### Alternate build: ### Alternate build:
If you have an old enough compiler try and to see how C has changed over the years: If you have an old enough compiler or if you want to see how C changed over the
years:
``` <!---sh--> ``` <!---sh-->
make alt make alt
@@ -49,6 +54,8 @@ If you have an old enough compiler try and to see how C has changed over the yea
### Alternate use: ### Alternate use:
Assuming that `westley.alt` compiles:
``` <!---sh--> ``` <!---sh-->
./westley.alt <number> ./westley.alt <number>
``` ```
@@ -88,7 +95,7 @@ Lint complains about everything - null effect, xxx may be used before
set, statement not reached, return(e) and return. Lint dumps core set, statement not reached, return(e) and return. Lint dumps core
on some systems. My personal favorite lint complaint is on some systems. My personal favorite lint complaint is
**_"warning: eroticism unused in function main"._** > warning: eroticism unused in function `main`.
Also obviously, `(char)lotte` and `(char*)lie` are incompatible types... Also obviously, `(char)lotte` and `(char*)lie` are incompatible types...
+9 -2
View File
@@ -403,6 +403,9 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<!-- BEFORE: 1st line of markdown file: 1990/westley/README.md --> <!-- BEFORE: 1st line of markdown file: 1990/westley/README.md -->
<h2 id="to-build">To build:</h2> <h2 id="to-build">To build:</h2>
<pre><code> make all</code></pre> <pre><code> make all</code></pre>
<p>There is an alternate version for those with an old enough compiler or for those
who wish to see how C changed over the years. See <a href="#alternate-code">Alternate
code</a> below.</p>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3> <h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p> <p>The current status of this entry is:</p>
<pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre> <pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre>
@@ -415,9 +418,11 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>The alternate code is provided to show how C changed.</p> <p>The alternate code is provided to show how C changed.</p>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<p>If you have an old enough compiler try and to see how C has changed over the years:</p> <p>If you have an old enough compiler or if you want to see how C changed over the
years:</p>
<pre><code> make alt</code></pre> <pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
<p>Assuming that <code>westley.alt</code> compiles:</p>
<pre><code> ./westley.alt &lt;number&gt;</code></pre> <pre><code> ./westley.alt &lt;number&gt;</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>If you would rather “Daisy” someone other than Westley, rename <p>If you would rather “Daisy” someone other than Westley, rename
@@ -441,7 +446,9 @@ have an “English-like” syntax.</p>
<p>Lint complains about everything - null effect, xxx may be used before <p>Lint complains about everything - null effect, xxx may be used before
set, statement not reached, return(e) and return. Lint dumps core set, statement not reached, return(e) and return. Lint dumps core
on some systems. My personal favorite lint complaint is</p> on some systems. My personal favorite lint complaint is</p>
<p><strong><em>“warning: eroticism unused in function main”.</em></strong></p> <blockquote>
<p>warning: eroticism unused in function <code>main</code>.</p>
</blockquote>
<p>Also obviously, <code>(char)lotte</code> and <code>(char*)lie</code> are incompatible types…</p> <p>Also obviously, <code>(char)lotte</code> and <code>(char*)lie</code> are incompatible types…</p>
<!-- <!--
+4 -1
View File
@@ -1006,7 +1006,10 @@ where this occurred was fixed but this one should not be fixed. Thank you.</p>
<h3 id="information-1990westleyindex.html">Information: <a href="1990/westley/index.html">1990/westley/index.html</a></h3> <h3 id="information-1990westleyindex.html">Information: <a href="1990/westley/index.html">1990/westley/index.html</a></h3>
<p>Although Cody fixed this to not enter an infinite loop if the arg (converted to <p>Although Cody fixed this to not enter an infinite loop if the arg (converted to
a number) is &lt; 0 the lack of an arg check at all was kept in to make it like the a number) is &lt; 0 the lack of an arg check at all was kept in to make it like the
original. The reason for the &lt; 0 check is it floods the screen.</p> original. The reason for the &lt; 0 check is it floods the screen (yes this is
indeed inconsistent with some other entries but it is not worth the time spent,
maybe, to change it back, especially as it is annoying to have the screen
flooded).</p>
<hr style="width:10%;text-align:left;margin-left:0"> <hr style="width:10%;text-align:left;margin-left:0">
<div id="1991"> <div id="1991">
<h1 id="section-7">1991</h1> <h1 id="section-7">1991</h1>
+4 -1
View File
@@ -892,7 +892,10 @@ where this occurred was fixed but this one should not be fixed. Thank you.
Although Cody fixed this to not enter an infinite loop if the arg (converted to Although Cody fixed this to not enter an infinite loop if the arg (converted to
a number) is < 0 the lack of an arg check at all was kept in to make it like the a number) is < 0 the lack of an arg check at all was kept in to make it like the
original. The reason for the < 0 check is it floods the screen. original. The reason for the < 0 check is it floods the screen (yes this is
indeed inconsistent with some other entries but it is not worth the time spent,
maybe, to change it back, especially as it is annoying to have the screen
flooded).