Commit Briefs

Omar Polo

allow to define macros in the config file

Macros can be defined at the top of the configuration file: dir = "/var/gemini" cert = "/etc/keys" and re-used later, for example server "foo" { root "$dir/foo" # -> /var/gemini/foo cert "$cert/foo.pem" # -> /etc/keys/foo.pem }


Omar Polo

trailing whitespaces





Omar Polo

define GMID_STRING and reuse-it

GMID_VERSION follows the CGI/FastCGI style, i.e. project_name/version. Define GMID_STRING with a more "human" variant "project_name version", and reuse that in the --help and --version codepath.


Omar Polo

add version in usage


Omar Polo

use getprogname() in usage()



Omar Polo

document `log' option


Omar Polo

strncpy -> strlcpy

quoting strncpy(3) strncpy() only NUL terminates the destination string when the length of the source string is less than the length parameter. strlcpy is more intuitive. this is another warning gcc 8 found that clang didn't.


Omar Polo

make sure l is always initialized

I can't think of cases where we reach serialize_iri and path is NULL, but let's keep the safe side and initialize l. gcc 8 found this, clang didn't.


Omar Polo

remove last occurrences of lex


Omar Polo

remove now unused lex.l