As main() used K&R style I changed main() to use K&R. The function that
it became (to fix it), pain(), already has the same exact format of what
main() once was only named painfully. Since main() also had the function
on many lines, even just the return statement in the beginning, I did
this in main() but given that main() only calls pain() obviously this is
not perfect. This has been documented in the thanks file like for all
the other improvements, to keep track of it.
Format/typo check README.md.
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 }).
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.