Backslashes in awk command-line variable assignments are normally
interpreted as beginning escape sequences, which is not what we
want to do for the error message prefix test.
Just exchanging backslashes with some other character (let's pick
forward slashes) should be more than sufficient for this test, to
ensure that the program name prefixes error messages.
# This will only get the start of progname if it includes spaces;
# so we won't worry too hard about the exact format later.
AT_CHECK([LC_ALL=C cdecl99 --help], [0], [stdout])
-progname=`$AWK 'NR == 1 { print $2; }' stdout`dnl'
+progname=`$AWK 'NR == 1 { gsub(/[[\\\\]]/, "/", $2); print $2; }' stdout`dnl'
# every line is erroneous
AT_DATA([input],
AT_DATA([check.awk],
[[BEGIN { status=0; }
+{ gsub(/[\\]/, "/"); }
$1 == progname || $1 == (progname ":") { next; }
{ status=1; print "unprefixed message on line", NR ":", $0; }
END { exit(status); }