This reverts commit 04caeff12f5e471519082b1c5f3020943df136db.
Medical science made some advances by leaps and bounds. The nash code is
more aggressive with the allocator and leaves more garbage around for
e.g. u2_term_io_init to trip over.
This reverts commit f691d25bd23716e9411288d3eb9bd4c9b9d33ae1.
Oddly, this causes a failure to boot, on some linux, for some reason
heretofore unknown to medical science.
OpenBSD whines about these and recommends using strlcpy / snprintf
instead. Since strlcpy isn't quite universal yet, we use strncpy instead
and be careful about terminating the string. We could implement a
portable strlcpy in terms of strncpy, but that'd add another function to
the namespace.
Yes, usually the length is obviously bounded. Still, pretending
strcpy/sprintf don't exist seems like a great strategy.
N.B. there are still a few occurrences of strcpy and sprintf under f/
and in libuv, but I don't have time to tackle them right now.