reduce code duplication in list resizing
realloc() of NULL ptr has behavior similar to malloc()
Note that if initial size == 0, then code used to adjust size
must be += x to ensure the size is non-zero for reallocation.
(Multiplying 0 * x, e.g. power-2 resizing, will result in 0.)
When the output of include_shell calls include_shell itself,
that second invocation must not truncate the buffer used for the
This might sound like a pathological setup in itself, but with
e.g. debian's include-conf-enabled.pl, which outputs a list of
include statements for all files in /etc/lighttpd/conf-enabled,
if any of the *.conf files in that directory invokes include_shell,
the parsing of the rest of the files in that directory is effectively
This fixes a regression since commit
a46bc4f5de in such setups.
github: closes #95
equivalent to prior code, but more direct (legibile in code) to look up
empty string than to walk array. Might be marginally faster to walk
array when the list is short, but the lookup is also fairly quick in
that case, too.
send Connection: close if it is known that request body has not finished
being read and will not finish being read
"Suboptimal keep-alive handling when request body is not read"