+size_t cdecl__emit(struct output_state *dst, const char *src)
+{
+ size_t rc = cdecl__strlcpy(dst->dst, src, dst->dstlen);
+ return cdecl__advance(dst, rc);
+}
+
+enum {
+ /*
+ * upper bound on number of decimal digits required to convert
+ * cdecl_uintmax.
+ */
+ MAX_UINT_DIGITS = (CHAR_BIT * sizeof (cdecl_uintmax) + 2)/3
+};
+
+size_t cdecl__emit_uint(struct output_state *dst, cdecl_uintmax val)
+{
+ char buf[MAX_UINT_DIGITS + 1], *p = &buf[sizeof buf];