Commit Graph
1335 Commits
Author SHA1 Message Date
Cody Boone Ferguson 79602d9ce7 Move author info to first column in 1993/jonth 2023-04-07 11:09:49 -07:00
Cody Boone Ferguson 4fbc411535 Add note about alt code of 1992/lush (gets())
This code should probably be deleted but that can happen another time.
This can be considered a reminder to do this when I have the time.
2023-04-07 11:08:02 -07:00
Cody Boone Ferguson b9e3cc4357 Reword note about gets() in 1992/gson 2023-04-07 11:07:06 -07:00
Cody Boone Ferguson 6186baa8eb Reword note about fgets() in 1992/adrian 2023-04-07 11:06:00 -07:00
Cody Boone Ferguson 58f30bd65e Add note about fgets() in 1990/tbr
About why it's useful. It's a problem to keep gets() but it might be a
problem to not keep it as well. Nevertheless with macOS the output of
the alternative code (which probably should be deleted but this can
happen another time) is confusing:

    $ ./tbr.alt
    $ warning: this program uses gets(), which is unsafe.
    []

The [] is the cursor on a blank line. The first line of output of the
program (which is not supposed to have a newline) instead has the
warning and then a newline appended to it.
2023-04-07 11:02:58 -07:00
Cody Boone Ferguson 965759365d Add note about fgets() in 1990/cmills
About why it's useful. It's both a problem to keep gets() but it's also
potentially a problem to change it to fgets(). But as it will prevent
alarming the user with warnings about gets() and also causing messed up
output (see below) this is useful.

With the original code one will see under macOS something like:

    $ ./cmills.alt
    Shuffle...
    warning: this program uses gets(), which is unsafe.
    Total $1000.  Wager?

which is very wrong.

I did not delete the cmills.alt.c but perhaps it should be deleted. That
can come another time.
2023-04-07 10:59:36 -07:00
Cody Boone Ferguson 2d7cfef50c Add crash warning to 1989/robison
With invalid digits the program will crash. This was never fixed (nor
should it be) but never noted either.
2023-04-07 10:57:11 -07:00
Cody Boone Ferguson b1e1b3f7f9 Add note about fgets() in 1987/wall/README.md
As in why this was important to do (though once again keeping gets() is
a problem but it's a potential problem to not keep it as well).
2023-04-07 10:55:17 -07:00
Cody Boone Ferguson c1a953b4c5 Add note about 1986/wall.alt.c
It was added so one can see just how different the C language was at the
time. Well see without having to look at the archive.
2023-04-07 10:53:48 -07:00
Cody Boone Ferguson ae19b676a6 Slightly reword thank you in 2001/ctk 2023-04-07 10:52:46 -07:00
Cody Boone Ferguson 8c1ac1e21c Move author info to first column in 2005/giljade 2023-04-07 10:51:37 -07:00
Cody Boone Ferguson d319c81485 Move author info to first column in 2015/endoh3 2023-04-07 10:50:35 -07:00
Cody Boone Ferguson ad9efe502a Undo two checks in 1998/schnitzi
As part of the redefinition of INABIAF two segfault fixes were undone.
These are noted in the Makefile and README.md file.

One fix was necessary and that has been left alone.
2023-04-07 10:46:28 -07:00
Cody Boone Ferguson 4e6630575c Undo NULL file check in 1993/schnitzi
As part of the redefinition of INABIAF the NULL file check has been
removed. Instead it's noted in the README.md and Makefile.
2023-04-07 10:44:11 -07:00
Cody Boone Ferguson 28624ca43f Undo arg check in 1993/plummer
As part of redefining INABIAF the check for args was removed. Instead
it's warned about in the Makefile and README.md file.
2023-04-07 10:41:06 -07:00
Cody Boone Ferguson cdc2cffdd0 Undo no arg check in 1990/theorem
As part of the redefinition of INABIAF one of the segfault fixes has
been undone. The others were necessary as part of making the entry work
in modern systems but this one should not have been done. Instead the
Makefile and README.md warn about it.

I did however discover another bug with this entry that makes one of the
generated programs not work. I documented that in bugs.md and I'll look
at it another time.
2023-04-07 10:36:44 -07:00
Cody Boone Ferguson 2ed80eb224 Undo no arg check in 2020/burton
As part of INABIAF redefinition the check for arg number is removed.
Instead the README.md and Makefile warn about it.
2023-04-07 10:33:41 -07:00
Cody Boone Ferguson 6d64e78dc5 Undo NULL file protection in 1990/dds
As part of the redefinition of INABIAF the NULL file protection was
removed. The bus error fix, the erroneous prototype to fopen() and the
fgets() fix are still applied as these allow the entry to work properly
(and without an obnoxious warning at compile, linking or runtime about
gets()).
2023-04-07 10:30:00 -07:00
Cody Boone Ferguson a4322d00ea Slight rewording in 1985/lycklama/README.md 2023-04-07 10:28:17 -07:00
Cody Boone Ferguson c59ebbb6c8 Undo NULL file protection in 2018/algmyr
As part of the redefinition of INABIAF the entry no longer has the fix
applied.
2023-04-07 10:25:31 -07:00
Cody Boone Ferguson ffb639d42d Undo buffer size increase in 1994/schnitzi
As part of redefining INABIAF the entry now has an equivalent
functionality with the generated output. The bugs.md file still has
hints on how to get this to use fgets() (for why this is helpful see
that file). As a starting point I have the original buffer size increase
in schnitzi.alt.c as it would be useful to see how it works and to maybe
get the entry to use fgets(). Unfortunately keeping it using gets() is a
potential problem but changing it to fgets() is also a potential problem
(this goes for all of the entries that use or used gets()). This entry
however still uses gets(). The change is the smaller buffer size which
means that the entry can not handle big files.

The Makefile and README.md now refer to the small buffer size.
2023-04-07 10:23:20 -07:00
Cody Boone Ferguson ec111eb6b2 Undo segfault fix in 1984/laman w/o arg
As part of redefining INABIAF this is necessary. The README.md and
Makefile both warn about the crash.
2023-04-07 10:15:16 -07:00
Cody Boone Ferguson 6f90e0dc3e Redefine INABIAF status
When fixing the entries that did not work I went a bit too far and fixed
other problems as well. This should not have been done and there was
ever a doubt in my mind about it. The coming commits will be undoing
these changes (though the vast majority that were modified were not in
this category). An INABIAF now includes segfaults both that are
documented and not documented unless it prevents the entry from working.
It also includes other things that are both documented and not
documented.

After all it's not like the winning entries are meant to be code that is
maintainable or good quality (even if they work well). One might even
say that they should be buggy! :-) (and in some cases which were never
touched they're supposed to crash or do this or that).

In the case of gets() versus fgets() this is not so clear. The reason is
that in modern systems one will get a warning at compile time or linking
time (I mostly noted linking time) but also (in some systems like macOS)
runtime. These warnings can be alarming and interfering. In some entries
it caused confusing output a great example being 1990/tbr. The alt code
(which might want to be removed) will show something like:

    $ ./tbr.alt
    $ warning: this program uses gets(), which is unsafe.
    #

The '#' is a blank line but if you notice above it the first line of
output of the program has the warning attached to it. This is both
confusing and annoying. There are other entries with this same problem,
some of them fixed and some not.

If an entry did not work and I fixed that part but also fixed other
issues I've done my best to make sure that only the fixes that are
needed are there.

I also tried to put notes in both the Makefile and README.md of each
entry where there is a problem so as to alert users that this or that
entry does crash if not given valid input so they don't think it's
broken. I might have missed some but as I go through the upcoming
commits I will look at them again to see if I covered them all.

But this commit and the next commits will make the quality of the
winning entries better (if making them more buggy can be called better
quality :-) ) or at least more correct.

Should one wish to see fixes they can use git to find them. In the
bugs.md file I have reworded (and added the exception of the author) the
INABIAF status and moved it to the bottom of the statuses list. I also
probably reworded some of the other statuses and possibly added a status
as well.

The entries that have been added to the file will be committed one at a
time. Some other entries that needn't be in the bugs.md will also be
updated (README.md files for instance) but all of these are ones that
were updated already in some form or another.
2023-04-07 09:59:31 -07:00
Landon Curt Noll 01b950f7a3 Merge pull request #306 from xexyl/1988-spinellis 2023-04-07 08:57:17 -07:00
Landon Curt Noll 074aebcaee Merge pull request #305 from xexyl/2018-ferguson 2023-04-07 08:51:39 -07:00
Landon Curt Noll b6c9c2a425 Merge pull request #304 from xexyl/2020-endoh1 2023-04-07 08:51:17 -07:00
Landon Curt Noll 2204e33aca Merge pull request #303 from xexyl/2018-bellard 2023-04-07 08:50:34 -07:00
Landon Curt Noll d49dd227a8 Merge pull request #302 from xexyl/1992-imc 2023-04-07 08:50:09 -07:00
Cody Boone Ferguson 94051d551d Add important note to 1988/spinellis/README.md
One needs to make clobber for this entry to work right! It cannot easily
be added to the Makefile as the rule depends on the source code. This
probably should be fixed.
2023-04-07 05:14:41 -07:00
Cody Boone Ferguson c23e0acab1 Fix shebang in 2018/ferguson/test.sh
Make it a bit more portable (assuming env is under /usr/bin):

    #!/usr/bin/env bash

instead of

    #!/bin/bash

And although Landon suggested that I will never be done with changes in
my entries (which is probably true I confess ... :-) ) I suggest that in
this case this is rather useful (in fact I should do this for
2020/ferguson1 as there are several scripts there .. maybe
2020/ferguson2 but I don't know for sure).
2023-04-07 04:25:30 -07:00
Cody Boone Ferguson 524cf58d5f Partial fix (format etc.) in 2020/endoh1/README.md
I've not gone through the file entirely but I have some significant
fixes to make and I want to get my working repo clean so I can do these
fixes. I'll go through this file in full later.
2023-04-07 04:20:37 -07:00
Cody Boone Ferguson 21fa5e707c Format fix in 2018/bellard 2023-04-07 04:19:36 -07:00
Cody Boone Ferguson 8a4ad6ca3c Minor fix in wording in 1992/imc/README.md 2023-04-07 04:18:43 -07:00
Landon Curt Noll e94f8c5397 Merge pull request #301 from xexyl/2020-kurdyukov4
Fixes / updates to 2020/kurdyukov4
2023-04-06 21:19:06 -07:00
Landon Curt Noll 822531d9dd Merge pull request #300 from xexyl/2019-mills
Fixes in 2019/mills
2023-04-06 21:18:48 -07:00
Landon Curt Noll 25b0655bf0 Merge pull request #299 from xexyl/2019-lynn
Format fix author info in 2019/lynn/README.md
2023-04-06 21:17:50 -07:00
Landon Curt Noll 2d34e83ec0 Merge pull request #298 from xexyl/2019-ciura
Fix in 2019/ciura/README.md
2023-04-06 21:17:26 -07:00
Landon Curt Noll 2c3573c233 Merge pull request #297 from xexyl/2019-duble
Fixes in 2019/duble/README.md
2023-04-06 21:16:45 -07:00
Landon Curt Noll f130ae63a9 Merge pull request #296 from xexyl/2019-yang
Fixes in 2019/yang/README.md + .gitignore
2023-04-06 21:16:22 -07:00
Landon Curt Noll 3715664dd2 Merge pull request #295 from xexyl/2001-ctk
Typo fix in 2001/ctk/README.md
2023-04-06 21:15:57 -07:00
Landon Curt Noll d8c063300b Merge pull request #293 from xexyl/1992-lush
Add lush.alt to 1992/lush/.gitignore
2023-04-06 21:12:58 -07:00
Landon Curt Noll e005dc4da5 Merge pull request #292 from xexyl/2018-poikola
Minor fixes in 2018/poikola/README.md
2023-04-06 21:12:25 -07:00
Landon Curt Noll 63e578ec0d Merge pull request #291 from xexyl/2019-poikola
Fixes in 2019/poikola
2023-04-06 21:10:57 -07:00
Landon Curt Noll 2677607826 Merge pull request #290 from xexyl/1985-applin
Slight rewording in 1985/applin/README.md
2023-04-06 21:07:53 -07:00
Landon Curt Noll 21949cfcea Merge pull request #289 from xexyl/2004-hibachi
Update 2004/.gitignore
2023-04-06 21:07:28 -07:00
Landon Curt Noll 904e182f5d Merge pull request #288 from xexyl/2005-mynx
Fix 2005/mynx directory wrt configure script
2023-04-06 21:06:50 -07:00
Landon Curt Noll 20bdd71194 Create top level tmp directory
This tmp directory will go away.

The purpose of this directory is to hold temporary files.

For example: CVS text files, that will later be used to generate JSON files.
2023-04-06 17:38:56 -07:00
Cody Boone Ferguson 49cd144e9f Fix 2020/kurdyukov4/Makefile for DATA
Don't delete the text files.

Make it so it actually doesn't use curl but just references the files
added.
2023-04-06 12:52:15 -07:00
Cody Boone Ferguson c14cd1fec3 Update 2004/kurdyukov4/.gitignore
Add test.txt which is referred to in the README.md file.
2023-04-06 12:47:24 -07:00
Cody Boone Ferguson 771ed740a6 Fixes / updates to 2020/kurdyukov4
Instead of relying on curl to obtain the text files just add them to the
repo.

Typo fixes.

Formatting fixes.

Added what on Middle-earth lámatyávë is to the README.md so that people
may enjoy the award title a bit better. From Morgoth's Ring, volume X of
the wonderful set History of Middle-earth (HoMe), one of many things
that were edited and published by the late Christopher Tolkien, heir and
literary executor of the great Tolkien.
2023-04-06 12:44:33 -07:00