317 Commits
Author SHA1 Message Date
Cody Boone Ferguson a75264f1ba Update 1988/spinellis/Makefile
Extended the note about clang - use the alt version (make alt) that I
made a while back if you have clang and not gcc. It previously only
reported that it doesn't work for clang but no note about a version that
works.
2023-05-12 11:02:33 -07:00
Landon Curt Noll c69445d067 Add .top and .year files
This will be used by tools that will build the web site
and tools that form JSON files (such as `.winner.json').
2023-05-12 20:10:38 +10:00
Cody Boone Ferguson 7b3390ba11 Fix Jack Applin URL 2023-05-09 10:31:45 -07:00
Cody Boone Ferguson 66231b2150 Remove 'America' (A) from 'USA' :-)
This to make the country code consistent with mkiocccentry (and I guess
international standard country codes).

This affects many README.md files and (for one line) winners.csv.
2023-04-22 04:21:38 -07:00
Cody Boone Ferguson 15787fbdd3 Update 1988 winning entries' README.md files
Format and typo fixes.
2023-04-14 06:19:50 -07:00
Cody Boone Ferguson d8e876794e Format and URL fixes in 198[568]/applin/README.md
Format fixes.

Dead link discovered. Use Internet Wayback Machine instead.
2023-04-14 06:03:57 -07:00
Cody Boone Ferguson 7f5ee8ce42 Add alt code to 1988/westley
The reason is it seems instructional and entertaining to see what
happens if the problem that the judges described in their remarks
occurs. Now one can do make clobber all alt; ./westley.alt; ./westley
and see if they are the same output.

The .gitignore file was updated - added westley.alt.

Updated README.md not only referring to the alt code but also format
fixes (the original fix of this commit).
2023-04-13 14:24:34 -07:00
Cody Boone Ferguson 9e323d8392 Remove colon at end of award in README.md files
As in

    sgit -e '1s/:$//g' '*README.md'
2023-04-11 08:43:41 -07:00
Cody Boone Ferguson 4bf3f302cb 'comments' -> 'remarks' in all README.md files
As in

    sgit -e 's/\([Aa]uthor.*\)comments/\1remarks/g' -e 's/\([Jj]udge.*\)comments/\1remarks/g' '*README.md'
2023-04-10 11:01:39 -07:00
Cody Boone Ferguson f0eb23a14e Fixes URL for Diomidis Spinellis entries 2023-04-10 06:08:10 -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 d499dac524 Remove references to -traditional-cpp in 1988/dale 2023-04-05 05:56:54 -07:00
Cody Boone Ferguson 5e2d3e6bf1 Fix 1988/dale to no longer need -traditional-cpp
There were a couple problems to resolve. First

    #define a(x)get/***/x/***/id())

    p Z=chroot("/");L(!a(u)execv((q(v="/ipu6ljov"),v),C);Z-=kill(l);

    ...

    case_2:L(!--V){O/*/*/c*c+c);wait(A+c*c-c);L(!Z)f(A,"\n",c);return(A*getgid());};C++;

does not work to create getuid() and getgid(). The second is that

    for/*/(;;);/*/k()){O/*/*/c);

cannot form 'fork())' in modern C compilers. What is quite fun is that
the cpp can!

Removed this entry from bugs.md.
2023-04-05 05:55:30 -07:00
Cody Boone Ferguson e09f677b37 Mass typo fix (all README.md and Makefiles)
As in

    sgit -e 's/the terms this license/the terms of this license/g' '*/Makefile' '*/README.md'
2023-04-02 09:27:13 -07:00
Cody Boone Ferguson 3452123106 Fix 1988/isaak for modern systems
The problem was the exit() (redefined) was not being called in main().
This used to work but no longer does.

This fix was based on the file on the IOCCC website isaak.ansi.c. One of
the fixes in that one was the fact that in the older days one could
define define to something else and use that new macro as a define. But
since this was already done I didn't see the point in doing it again (it
was already in the repo as the diff shows - isaak.alt.c is the
original).

Removed this entry from bugs.md.
2023-04-01 09:43:21 -07:00
Cody Boone Ferguson db90bf6a86 Minor updates to several README.md files
Just some formatting fixes and in some cases add links to XQuartz for
macOS Mountain Lion and beyond. More entries (probably many more) have
to have that link added but those will be found and fixed in time.
2023-03-31 06:37:18 -07:00
Cody Boone Ferguson 3865049bde Format and typo fixes in several README.md files 2023-03-28 05:28:46 -07:00
Cody Boone Ferguson 4594e02036 Slight fix in 1988/phillipps
Previously the call in main() returned a recursive call to main() (with
!) but the function that this became was called by main() but main() did
not return it. Now it does.

As well I changed the formatting ever so slightly of main(), making it
one line instead of three (counting the { and }).
2023-03-28 02:55:31 -07:00
Cody Boone Ferguson 4085c7701a Minor update to 1988/spinellis/README.md
I don't believe one needs to enter two EOFs in order for it to function
though I could swear I encountered the issue once before.
2023-03-27 09:01:30 -07:00
Cody Boone Ferguson 6e206fc25a Add 1988/spinellis/spinellis.alt.c for clang
This was fun to do even though it's also a very simple one liner plus
special handling in the Makefile (the latter part is so you can use it
the exact same way as the original). The original code just #included
/dev/tty. This does something just as magical! It can be used like:

	make alt
	# some C code
	^D
	./spinellis

For instance:

	make alt
	#include <stdio.h>
	int main() { puts("hello world"); }
	^D
	./spinellis

Now those with clang can enjoy the entry without any functional
difference.

I have a very twisted point to make about the original version and this
version too: with a very slight change one can actually make a C++
version. Ick! :-)
2023-03-27 08:59:03 -07:00
Cody Boone Ferguson ee249da4ea Fix 1988/phillipps for modern systems
The type of the second and third arg of main() were not char ** which
caused clang to have a fit. In gcc this is not a problem but it printed
gibberish nonetheless.

Changing the type of the second and third arg to compile with clang and
it printed the same (or similar?) gibberish as it did with gcc.

Adding a new function (pain() as it's annoying that clang requires
second, third and fourth args to main() to be 'char **'s even though in
this case it didn't work anyway) and calling it from main with the
appropriate args fixes the problem.
2023-03-27 07:26:25 -07:00
Landon Curt Noll 350da723cc improve architecture and Optimization comments in Makefiles 2023-03-26 22:13:13 -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 fcdc76e1dd Typo in 1988/westley/README.md 2023-03-26 10:27:44 -07:00
Cody Boone Ferguson a4218e673d Add thank you in 1988/dale/README.md 2023-03-26 09:24:07 -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 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 e08059faaa 1988/dale requires -traditional-cpp to compile
Thus one can now enjoy it as long as they have a compiler that supports
it. Unfortunately clang does not but gcc does.
2023-03-16 10:22:51 -07:00
Landon Curt Noll 643c6fb24a add note to README.md about who provided a fix to 1988/westley 2023-03-08 02:35:37 -08:00
Landon Curt Noll 30d4bcff69 remove orig code from 1988/westley 2023-03-08 02:33:04 -08:00
Landon Curt Noll 12523dd4c9 fix how alt code is used in 1988/isaak 2023-03-08 02:30:19 -08:00
Cody Boone Ferguson b2a826ae03 Update several year README.md files
Mostly added links.
2023-03-06 06:26:12 -08:00
Cody Boone Ferguson 7243fcd426 Change 'may not compile to 'might not compile'
This is a subtle thing that I brought up on GitHub. Landon made the
change in many files but missed some in 1986 through 1989. I am aware of
a mass typo in the Makefiles but since some Makefiles are pending
changes I'm not doing that yet.
2023-03-05 09:49:18 -08:00
Cody Boone Ferguson a958027ee6 Get all 1988 entries to compile
For 1988/dale it will not compile under macOS. I was able to get it to
almost compile under macOS but there was one problem. As well this 'fix'
will make it not compile under linux. One change was required which was
changing the #define _ define followed by #_ foo to be just '#define
foo' etc.

Added to 1988/isaak/.gitignore isaak.output.

1988/spinellis won't compile with clang.

1988/phillipps will compile but it is likely to segfault at least in
some systems (maybe not all).

Updated many README.md files for the changes above (and probably other
changes I've neglected to write in this log). Most changes in the readme
files are probably just formatting and probably typos as well as how to
compile and run entries nowadays. There might have been other changes.
2023-03-05 09:39:48 -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 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 d4d66a032c update 1988 Makefile variable set 2023-02-26 17:02:30 -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 4ac9b35895 improve 1988 Makefiles 2023-02-21 17:44:32 -08:00
Landon Curt Noll 9194e0fa4d fix of 1988/phillipps/phillipps.c to compile on modern C compilers 2023-02-21 17:18:13 -08:00