+AT_DATA([expout],
+[[ --foo 6
+ -b, --bar 10
+ --baz=ARG 10
+ -B, --baz=ARG 14
+ --quux[=ARG] 13
+ -q, --quux[=ARG] 17
+ --hello-this-is-a-very-long-option
+ 0
+ --hello-this-is-a-very-long-option 35
+ --not-long 11
+ --flagged 10
+]])
+
+# Some very old printf implementations return 0 on success instead of the
+# number of bytes written. The help_print_optstring function is not fully
+# functional in this case. It should fallback to printing a newline and
+# returning 0 so the overall --help output should be mostly acceptable.
+#
+# We verify that this indeed works properly by adjusting the expected
+# output accordingly, but ...
+AS_IF(["$builddir/t/printfchk" >/dev/null], [ancient_printf=false],
+[[sed -n -e 's/ [0-9]*$//' -e '/^ *-/p' -e 's/^ *-.*/ 0/p' expout >expout.tmp
+mv -f expout.tmp expout
+ancient_printf=:]])