+static size_t
+fmt_err(struct err_state *state, const char *fmt, const char *arg)
+{
+#if ENABLE_NLS
+ snprintf(state->str, state->nstr, fmt, arg);
+ return strlen(fmt) + strlen(arg);
+#else
+ struct output_state dst = { state->str, state->nstr };
+ size_t rc;
+
+ rc = cdecl__strlcpy(dst.dst, fmt, dst.dstlen);
+ cdecl__advance(&dst, rc-2);
+ cdecl__emit(&dst, arg);
+
+ return dst.accum;
+#endif
+}
+
+/*
+ * Sets the library error to code; fmt is a printf-style string that may use
+ * up to one %s directive, to refer to arg.
+ */
+void cdecl__err(const char *fmt, const char *arg)