+static void add_pr(int *pr, int printf_ret) {
+ if (printf_ret == EOF) return;
+ *pr += printf_ret;
+}
+
+static void vproblemx(int padto, int per, const char *fmt, va_list al) {
+ int e=errno, pr=0;
+ add_pr(&pr, printf("\\["));
+ add_pr(&pr, vprintf(fmt,al));
+ if (per) add_pr(&pr, printf(": %s",strerror(e)));
+ add_pr(&pr, printf("]"));
+ while (pr++ < padto)
+ putchar(' ');
+}
+
+static void problem_e(int padto, const char *fmt, ...) {