The code declares localtime() to be a different type than what time.h
has which was included with macOS and thus it caused a compilation
error. Instead use #undef localtime (I tried to remove the prototype and
let time.h do its thing but this caused a segfault and since this works
I opted for it .. for now at least).
It also did not link in any system because it uses SDL functions that
were removed from SDL2 so sdl-config has to be used instead of
sdl2-config.
Although the judges do note that the entry only gets some of the
languages that it supports right it seems to me it should accept vier
not fier esp as it gets other numbers right. It did not appear to be a
situation where the entry predicts the misspelt words (trying vier did
not work) so I think this is correct. If this was intended I am
certainly fine with it not being fixed but it appears to be a bug to me.
I did a variety of other tests to make sure other numbers are still
okay.
An example where it detects misspelt words:
$ echo secht | ./kang
6
... instead of sechs for six. But it also gets sechs right. It does not
get zehn right but it does get eins right. But as the judges say this is
okay.
The problem was a missing +1 for strlen() in a malloc() call.
This entry still uses gets() and strangely changing it to fgets() makes
it segfault but I'll worry about this later when more entries have been
checked and (if possible) fixed.
The problem with not calling 'endwin()' is that echo will be disabled
which is a problem for the user if they don't know to type stty echo or
reset or stty sane.
I removed from bugs.md the suggestion that it does not work for macOS as
I fixed that. I also slightly reworded the entry in bugs.md (about
warnings to ignore).
Add to README.md summary of problem.
It segfaulted due to wrong type of a variable.
It still crashes under macOS which I will be looking at in the near
future but it at least works for linux.
I noted in the bugs.md a compiler warning that should not be changed as
it's not a bug and in fact 'fixing' it will introduce a bug.
This to make `make keywords` not fail (for example). I know that this
year has not been processed and if necessary I can resubmit it another
time but I believe that this will not affect any fixes to the Makefile
or README.md (in fact I know it won't).
A line for one entry was in the wrong entry.
I added that I'm working on them (with some humour injected there) but
others may try too .. if they are okay making people very sad :-)
Added more information / examples in some of the status sections and
possibly some of the entries that are listed.