string.h is C89, so assume it; use gnulib string module so we can safely use NULL