349 Commits
Author SHA1 Message Date
Landon Curt Noll 1ce40b273d fix alt rules in Makefiles
For Makefiles that have alt related rules, moved
the related rules under the alt rule section.

In some cases where there is no alt code,
removed alt rules and/or targets.
2023-03-26 21:48:48 -07:00
Landon Curt Noll 1c35dc3b47 make everything true :-)
Add @${TRUE} as an action for the everything rule in Makefiles.
2023-03-26 20:47:04 -07:00
Landon Curt Noll e42d7484cd trim comments and update 133t hacker rulz in Makefiles 2023-03-26 20:24:16 -07:00
Cody Boone Ferguson 604a429da7 Typo fix in 1990/theorem 2023-03-26 08:50:37 -07:00
Cody Boone Ferguson bcb905e3f0 Minor update to 1990/scjones/README.md 2023-03-26 08:48:47 -07:00
Cody Boone Ferguson ce6af463e3 Fix segfault in 1990/dds
In all versions the program would segfault if the file could not be
opened as it would write/close the NULL FILE *. Now it doesn't act on
the file unless f != NULL. If it is it just does the usual of writing
'Ok' to stdout.
2023-03-26 08:44:29 -07:00
Cody Boone Ferguson 5873c7cedc Fix fix on 1990/dds + make it use fgets()
The Makefile had -include stdio.h which made it fail to compile under
macOS (mismatch type of fopen()). I removed the prototype in the code.

I also made it use fgets() instead of gets() to make it safer.
2023-03-26 08:40:32 -07:00
Landon Curt Noll 1b1dd2f2e4 put all README.md files under CC BY-SA 4.0 License
This will make is easier for others to share README.md
files while requiring them to attribute the file
when using it.
2023-03-26 02:58:27 -07:00
Landon Curt Noll ea1806abdb change Makefiles to look under X11_INCDIR and X11_INCDIR/X11 2023-03-26 02:22:49 -07:00
Landon Curt Noll 5fc2d72dd1 change use of ${HOMEBREW_PREFIX} with ${SDL2_CONFIG} 2023-03-26 02:19:18 -07:00
Landon Curt Noll 8cd2aa85c1 clean up and improve end of Makefile rules 2023-03-26 02:02:31 -07:00
Landon Curt Noll d04e6d8f03 remove X11_LIBDIR and X11_INCDIR setting from Makefiles
The X11_LIBDIR and X11_INCDIR values are now set in the
top level `var.mk` file.
2023-03-26 00:50:47 -07:00
Landon Curt Noll bbd18a20df improve Makefile headers
Simply the Makefile header.

Refer to the //www.ioccc.org/bugs.md URL (that will eventually exist).

Now using CC BY-SA 4.0 License to how you may share and adapt the
Makefile.
2023-03-25 23:51:14 -07:00
Landon Curt Noll 9e1b0ac82f fix common tool locations header lines in some Makefiles 2023-03-25 22:31:02 -07:00
Cody Boone Ferguson 67a3677763 Fixes in 1990/jaw
The example commands in the judges' comments had some problems that gave
an error message when running them.

I have also figured out the apparent problem with macOS in the command
under the try section being:

    echo "Quartz glyph jocks vend, fix, BMW." | compress | ./btoa | ./jaw

But it's not actually a problem. It uses perror() and under macOS with
errno == 0 it shows:

    Undefined error: 0

whereas linux shows 'Success'. So it's not actually a problem with the
entry at all. In fact the condition that triggers that call is the same
in both linux and macOS.

I've updated bugs.md to note this and I also updated the README.md to
note it (and to refer to the bugs.md file for more details).

The thank you to me is because I missed it earlier on when I fixed the
scripts, simple though the fixes were.
2023-03-21 09:43:02 -07:00
Cody Boone Ferguson 50e026a93f Updates to README.md files in 1990 entries 2023-03-21 08:16:31 -07:00
Cody Boone Ferguson bede24af38 Make 1990/cmills use fgets() instead of gets()
In the README.md I explained the difference in case someone wishes to
change the fgets() version back to gets(). I decided to not make it an
alt version as it was discussed that usually there should not be an alt
version.
2023-03-21 07:52:05 -07:00
Cody Boone Ferguson 23d1053c48 Typo fix in 1990/pjr/README.md
It actually referred to a different entry that year (jaw) so the
invocation would not even work as the program would not be there at all.
2023-03-21 07:39:14 -07:00
Cody Boone Ferguson 8a815e2f35 Typo fix in 1990/tbr/README.md 2023-03-21 07:36:28 -07:00
Cody Boone Ferguson e317048e21 Fix segfault in tbr.alt.c, swap tbr.alt.c code
The segfault has been fixed when EOF is sent to the program (causing
fgets() to return NULL).

Since fgets() is far safer than gets() and since the gets() version will
intersperse the warning and the first line of output I have changed the
alt version to be the original (fixed to compile with modern compilers)
and the tbr is the one with fgets().
2023-03-21 07:33:00 -07:00
Cody Boone Ferguson 6a6807e587 Make 1990/tbr alt version that uses fgets not gets
This is so that the warning about gets() is not interspersed with the
initial output of the program (see below). I do want to note that if one
sends EOF it will segfault so to exit one should do ctrl-c (for
instance) (exit never worked). I will look at fixing that fault later on
to match the original code but this is good for now. When fixed (low
priority though) I will consider making the gets() version the alt but
probably not (I guess time will tell).

As for the interspersed output it looks like:

    $ warning: this program uses gets(), which is unsafe.
    # cursor is here

At the cursor I can either hit enter to get another prompt or I can
input a command but this is not immediately obvious.

Updated .gitignore to have tbr.alt.
2023-03-21 05:58:50 -07:00
Cody Boone Ferguson 4614d2a4bb Fix Westley's entries (dead link, .gitignore)
The main link was dead but looking at the Internet Wayback Machine I
found that he changed domains and it's still valid. One entry had a
different URL but with a quick check I could not determine that it had
anything to do with him so I changed it to his own domain (which I
verified is his).

The 2001/westley/.gitignore was also updated as it has other source
files that are generated by the commands in the try section.
2023-03-20 08:52:19 -07:00
Cody Boone Ferguson fa682003eb Fix typos, formatting and thank yous (add links)
In some files changed the formatting was fixed to be a proper markdown
file.

There were some typos including that some README.md files that linked to
/winners.html#Cody_Boone_Ferguson actually linked to the non-existent
file /years which obviously would not work.

I also added links to the rest of the places I have fixed entries (but
see below) and I did the same for Yusuke Endoh's fixes.

As well apparently one entry I thought he fixed to compile under modern
systems does not seem to so that entry will have to be revisited another
time. That entry was 1993/jonth.

Those are the main changes here if not all of them.
2023-03-18 05:16:31 -07:00
Cody Boone Ferguson 750255aded Roll back ad04d21fda
As was discussed with Landon this was a mistake even if it helped with
consistency. There was even a brilliant pun that was destroyed with that
commit which I think is worth pointing out:

    cp README.md hill
    ./ant hill

in 1991/ant ... even if it's technically 'anthill'.

I hope that I got all links fixed in years.html and winners.html. As
well I tried to make sure I got all handles fixed in all/summary.txt.
Nevertheless these should be checked. For some handles they were never
updated (at least in the html files - though maybe summary.txt too, not
sure) in the first place so there was nothing to do.

Typo fixes like references to *.hint when it should be README.md. There
probably are others that need to be fixed but haven't been located yet.
2023-03-17 08:27:55 -07:00
Cody Boone Ferguson 3019afc432 Minor updates to 1990
Add thank you note to Cody in some README.md files, remove the warning
that 1990/westley/westley.c might not compile with modern compilers
(since I fixed it) and reworded a statement slightly. Yes I'm thanking
myself but it's actually from the judges.
2023-03-16 10:12:25 -07:00
Cody Boone Ferguson ad04d21fda Rename wrongly named author/winner handles
There were many files renamed in this commit and I hope I got all the
references to the old names changed to the new names. To explain this
commit there were some older entries that had the wrong directory name:
not the surname but something else.

Very possibly there are other directories that need to be renamed and I
am actually aware of one right now but since it's in 2005 (which is
close to being worked on) I am not changing that now but just noting it:
2005/anon should be changed to 2005/anonymous (unless there's a very
good reason I am unaware of). But like I said since 2005 will be worked
on soon I have not touched it.

The Makefiles, .gitignore, the all/summary.txt, years.html and
winners.html files as well as the directories and the files under the
renamed directories have all been updated.

This is a rather big update and it might be that there are conflicts. If
so I will fix them. I will have to update 2005/anon later on to try and
prevent this from happening but very possibly there will be conflicts
here. It's also possible I missed some changes in years.html and/or
winners.html and/or summary/all.txt but I think I got them all. These
should be verified later on.
2023-03-14 05:06:16 -07:00
Cody Boone Ferguson 0ae55de0b8 Revisit 1990 entries
Although I previously got them to all compile they did not all work. Now
they do except that jaw does not work properly in macOS (I have noticed
something odd in linux too but it appears to work mostly if not
entirely).

Yusuke Endoh pointed out for 1990/theorem that atof() nowadays needs
include stdlib.h so this was added to the file. As well I added the
inclusion of string.h for strcmp(). I also fixed some segfaults in this
entry (even though the judges pointed out that for NULL pointer one
needs the four '0 0 0 0' it still segfaulted under those conditions) so
that everything should work now under both linux and macOS. There were
iirc two parts to this: one the NULL pointer is no longer dereferenced
but also the type being passed to strcmp() was a int * and not a char *.
This prevented 1990/theorem/sorter from working at all (segfault) and as
I recall it there was another segfault I encountered as well.

For 1990/jaw Yusuke Endoh provided a ruby implementation of btoa as it's
not always available in modern systems. Thank you Yusuke!

In 1990/jaw shark.sh had to be modified as well. This had to do with '.'
not being in the default PATH.

As well I had previously made a mistake about btoa versus atob as both
were referenced in 1990/jaw/README.md. I believe I have this correct
now.

Many if not all the README files were modified with various changes
including formatting (like turning them into markdown) and section
titles amongst other things.

I seem to recall I'm missing something here but I can't recall what I
recall :-) so this will have to suffice this time round (maybe it was
the btoa/atob issue that I just remembered and added above but I'm not
sure).
2023-03-11 10:07:14 -08:00
Landon Curt Noll 1dc1b2ff62 remove orig Makefiles for years 1984 thru 1998 2023-02-28 23:57:24 -08:00
Landon Curt Noll e78febe55a remove Historical Makefile NOTEs from years 1984 thru 1998 2023-02-28 23:36:45 -08:00
Landon Curt Noll d0ddf3d2de remove Historical Makefile NOTE from 1984 to 1998 year Makefiles 2023-02-28 23:33:21 -08:00
Landon Curt Noll b2105f43e9 fix may vs. might README/Makefile issues in years 1984 thru 1998 2023-02-28 21:49:25 -08:00
Landon Curt Noll c4f93bf8f4 use var.mk in year level Makefiles for 1984 thru 1995 2023-02-27 00:36:56 -08:00
Landon Curt Noll 07e198a52d change Makefiles for 1984 thru 1995 to use var.mk
Instead of including the same long list Makefile
variables, include a common var.mk from the top
directory level.
2023-02-27 00:00:52 -08:00
Landon Curt Noll 59def489cc update 1990 Makefile variable set 2023-02-26 17:03:03 -08:00
Landon Curt Noll bca0c134f1 Merge pull request #16 from xexyl/fixes 2023-02-22 13:46:47 -08:00
Landon Curt Noll 4bca2a7f5f Merge pull request #10 from xexyl/birthday-updates 2023-02-22 13:45:17 -08:00
Cody Boone Ferguson 11bb36ac8c Fix conflicts with recent commits (I think/hope)
Some commits this week caused some conflicts with some open pull
requests made last week. I believe and hope that I fixed the conflicts.
2023-02-22 05:44:55 -08:00
Landon Curt Noll b449cb503c update year level README files
Move copyright notice to the end.

Add a standard comment about the newly added `README.md` files.

Clean up trailing whitespace.

Fixed a few minor typos.
2023-02-21 22:16:49 -08:00
Landon Curt Noll fca5a78645 improve 1990 Makefiles 2023-02-21 19:05:12 -08:00
Landon Curt Noll e86100b024 add initial .gitignore files per entry
chmod +x 2014/sinon/glock.sh 2014/sinon/hecate.sh
2023-02-21 14:16:46 -08:00
Cody Boone Ferguson 37fb84c37c All 1990 entries now compile!
My first 41st, 51st and 29th (all depending on the base) birthday
updates (possibly more will follow but this is not a certainty). All the
1990 entries now compile!

In one we used a patch from Yusuke Endoh (thank you Yusuke!) which we
credited him in the README and in another we used a tip from him (use
-ansi at the compiler line) to get the other to compile (again, thank
you Yusuke!). We fixed the others. In the case of 1990/tbr/tbr.c the
author had supplied a shorter version and we fixed that one too.

Added 1990/.gitignore which has the built files of 1990 so that after
doing `cd 1990 ; make all' running `git status .' will not show any
untracked files.
2023-02-14 03:08:25 -08:00
Landon Curt Noll 30e46c0ace checkpoint 1990 Makefiles
Added Makefiles for 1990 entries.

In a some cases the source code was modified.

Modified 1990 README.md files.

In some cases the program still cannot be compiled.
2023-02-13 01:20:57 -08:00
Cody Boone Ferguson e8a3b50211 Change references of 'EMail' to '[Ee]mail'
Depending on if it was the beginning of the sentence the EMail would
become 'Email' or 'email'.

Some references of 'Email' were changed to 'email' as well as those were
not in the beginning of a sentence.

A few places some consistency of capitalised email address (made lower
case) were changed to match other places of the same pattern.
2023-02-10 06:01:22 -08:00
Cody Boone Ferguson b547b7584b Typo fix in many Makefiles
The typo was judgess instead of judges. As the list of files changed is
quite long I'm not including it here.
2023-02-09 12:47:23 -08:00
Cody Boone Ferguson 17ea7fbd9e git mv *.hint -> README.md
There is one exception:

    $ find . -name '*.hint' -execdir git mv '{}' README.md \;
    git statufatal: destination exists, source=1992/albert/albert.hint, destination=1992/albert/README.md

Looking at the two files they differ quite a bit so I've not changed it.
I'll bring this up on GitHub.
2023-02-08 05:47:28 -08:00
Landon Curt Noll c7ce2a79cb Update 1998-2004 top level Makefiles 2022-09-19 00:39:54 -07:00
Landon Curt Noll 0c8b2e96d1 Add Makefiles for moved 1988-2004 entries 2022-09-18 23:53:49 -07:00
Landon Curt Noll d2a42f42e8 Move 1988-2004 entries into subdirs
We we move 1988-2004 entries from all of a year's winning entries
in a single directory to each winner being in their own sub-directory
under the given year directory.
2022-09-18 23:37:49 -07:00
Landon Curt Noll c0663537cb Add preview of 1984-2019
The 2020 winners are hinted it, but the source code is not there,
nor are the hints. Someone could look into the HTML and
see what was commented out, but that is not a problem because
WHO won is known and the name of their AWARD is known already.
Moreover a number of the winners have talked about what their
entirs do, so the commented out spoiler text is not a bit problem.

One will find HTML commented out with:

    <!-- XXX remove when 2020 is ready
    2020 links here
    XXX remove when 2020 is ready -->

The "XXX remove when 2020 is ready" string is found at the
start and end comment blocks.  Again, soneone could read
what was commented out, but that is OK since most of that
information is known or can be known.  The following files
have such HTML comment blocks in them.

    ./winners.html
    ./years-spoiler.html
    ./years.html

In addition, ./all/summary.txt was modified to not
include the 2020 entries for the momemt.

The 2020 winner code AND write-ups are NOT part of this set.

p.s. The all/all.tar.bz2 does not contain the 2020 source code (yet?).
2020-12-30 16:57:03 -08:00