Writing "modern C" doesn't exist in the way writing "modern C++" exists. The language + standard C library hasn't really changed much in past few decades. (That's a feature, by the way.) The newer bits are things like the C11, but I've never needed anything there.
Most of the newer/changing aspects of C are either below the C layer (compilers, architecture, libc implementations, etc), or the kinds of tools you use to write/test C code (debuggers, linters, build systems, etc). We as a species also seem to always be inventing new and creative ways to shoot ourselves in the foot with C, and there is a certain kind of wisdom that comes with that.
chaos.social – a Fediverse instance for & by the Chaos community