Commit Briefs
macro reordering
and while there replace SAFE_SETENV with an inline function. LOG is more difficult to transform into an inline function, given the string concatenations it does. The other LOG* and FATAL macros are fine as they already are.
switch some macros to inline functions
they expanded multiple times their argument, since inline is standard (and works on GCC 4 too!) why don't use it?
switch to Bjoern Hoehrmann UTF-8 decoder
It's correct, while my hacked valid_multibyte_utf8 would allow things that aren't technically UTF8.
simplify loop
todo was initially there for an optimization: don't loop to MAX_USERS when you know the upper limit is todo.
ignore also SIGHUP
SIGHUP is sent when the tty is detached and by default kills the process. When we run in the background we don't care anymore about the tty, so it should be safe for us to ignore SIGHUP. (frankly, I expected daemon(3) to do stuff like this for us).
fix CGI with new IRI parser
With new IRI, parser the old assumption of path starting with ./ is no longer valid.