# test that nul bytes get copied
{
-# Character 'b' occurs at codepoint 130 decimal or \202 octal
-# under an EBCDIC coded character set.
-# my($a, $ab) = ("a", "a\000b");
- my($a, $ab) = ("\141", "\141\000\142");
- my($u, $ub) = map pack("U0a*", $_), $a, $ab;
+ my ($a, $ab) = ("a", "a\0b");
+ my ($u, $ub) = map pack("U0a*", $_), $a, $ab;
+
+ my $c = $u eq $a ? 'b' : pack("U0a*", 'b');
+
my $t1 = $a; $t1 .= $ab;
- print $t1 =~ /\142/ ? "ok 6\n" : "not ok 6\t# $t1\n";
+
+ print $t1 =~ /$c/ ? "ok 6\n" : "not ok 6\t# $t1\n";
+
my $t2 = $a; $t2 .= $ub;
- if (ord('A') == 193) {
- # print $t2 eq "\141\141\000" ? "ok 7\n" : "not ok 7\t# $t2\n";
- print eval '$t2 =~ /\141/' ? "ok 7\n" : "not ok 7\t# $t2\n";
- }
- else {
- print eval '$t2 =~ /\142/' ? "ok 7\n" : "not ok 7\t# $t2\n";
- }
+
+ print eval '$t2 =~ /$c/' ? "ok 7\n" : "not ok 7\t# $t2\n";
+
my $t3 = $u; $t3 .= $ab;
- print $t3 =~ /\142/ ? "ok 8\n" : "not ok 8\t# $t3\n";
+
+ print $t3 =~ /$c/ ? "ok 8\n" : "not ok 8\t# $t3\n";
+
my $t4 = $u; $t4 .= $ub;
- if (ord('A') == 193) {
- print eval '$t4 =~ /\141/' ? "ok 9\n" : "not ok 9\t# $t4\n";
- }
- else {
- print eval '$t4 =~ /\142/' ? "ok 9\n" : "not ok 9\t# $t4\n";
- }
+
+ print eval '$t4 =~ /$c/' ? "ok 9\n" : "not ok 9\t# $t4\n";
+
my $t5 = $a; $t5 = $ab . $t5;
- print $t5 =~ /\142/ ? "ok 10\n" : "not ok 10\t# $t5\n";
+
+ print $t5 =~ /$c/ ? "ok 10\n" : "not ok 10\t# $t5\n";
+
my $t6 = $a; $t6 = $ub . $t6;
- if (ord('A') == 193) {
- print eval '$t6 =~ /\141/' ? "ok 11\n" : "not ok 11\t# $t6\n";
- }
- else {
- print eval '$t6 =~ /\142/' ? "ok 11\n" : "not ok 11\t# $t6\n";
- }
+
+ print eval '$t6 =~ /$c/' ? "ok 11\n" : "not ok 11\t# $t6\n";
+
my $t7 = $u; $t7 = $ab . $t7;
- print $t7 =~ /\142/ ? "ok 12\n" : "not ok 12\t# $t7\n";
+
+ print $t7 =~ /$c/ ? "ok 12\n" : "not ok 12\t# $t7\n";
+
my $t8 = $u; $t8 = $ub . $t8;
- if (ord('A') == 193) {
- print eval '$t8 =~ /\141/' ? "ok 13\n" : "not ok 13\t# $t8\n";
- }
- else {
- print eval '$t8 =~ /\142/' ? "ok 13\n" : "not ok 13\t# $t8\n";
- }
+
+ print eval '$t8 =~ /$c/' ? "ok 13\n" : "not ok 13\t# $t8\n";
}