The parameter type of q in function z() should be a 'char *', not a
'char **'.
Added to CSILENCE -Wno-implicit-int.
Note that if including files for abs(3), strlen(3) or other functions
implicitly declared the program will not work (or at least it won't work
if at least one of them is #included?).
There were two crashes that I noticed, both due to atoi(3) being called
on an arg without a type which ended up being an implicit int rather
than a 'char *'. This is for the x and y coordinates. I don't have an
example command line to test different configurations but now the
program shouldn't crash unless the file cannot be opened. See bugs.md
for details there (whether it should crash or not on not being able to
open the file is debatable I suppose but I left it in as a feature, not
a bug; the others made the program unusable which is why they were
fixed).
The alt version can be more at home for those familiar with vi(m) (it
certainly is for me): instead of 'f' for forwards, 'l' for left and 'r'
for right it is now 'k', 'h' and 'l' respectively. The program does not
allow one to go backwards so this was not touched but if it did it would
have been 'j': because we vi(m) users are strange :-)
The README.md has been format and typo fixed.
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.