+static void check_snprintf()
+{
+ char buf[] = "ABCDEFGHI";
+ int n1 = snprintf(buf, 8, "123456789");
+ int n2 = snprintf(buf, 0, "X");
+ if (!(!strcmp(buf, "1234567") && n1 == 9 && n2 == 1))
+ throw std::logic_error("Function snprintf() does not conform to C99,\n"
+ "please contact " PACKAGE_BUGREPORT);
+}
+
+#endif // HAVE_WORKING_SNPRINTF
+
+// Runtime check of ./configure result, throws on error.
+void check_config()
+{
+ check_endianness();
+#ifdef HAVE_WORKING_SNPRINTF
+ check_snprintf();
+#endif
+}