I'm not fond of `strndup`. It's not what we *really* want to do here. We should probably have a helper in `utils.h` that is like "turn the next `n` characters of this string into a new string". `strndup` doesn't do this: it also checks for terminating `NULL` bytes, which is redundant.