+# 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=:]])
+
+AT_CHECK([m4_join([ ],
+ ["$builddir/t/helpopt2"],
+ [--foo],
+ [--bar -b],
+ [--baz ARG],
+ [--baz -B ARG],
+ [--quux '@<:@ARG@:>@'],
+ [--quux -q '@<:@ARG@:>@'],
+ [--hello-this-is-a-very-long-option 20],
+ [--hello-this-is-a-very-long-option 50],
+ [--not-long 12],
+ [--flagged -f \&])], [0], [expout])
+
+# ... we ultimately skip the test so there's an indication (other than an
+# outright failure) that the function is not working completely.
+AT_SKIP_IF([$ancient_printf])
+