[Bug 267826] awk(1) functions or(), and() and xor() broken when used with more than 2 args

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 17 Nov 2022 09:14:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267826

--- Comment #1 from Tassilo Philipp <tphilipp@potion-studios.com> ---
for completenes, working output on 12.2:

$ echo | awk -f x.awk
7&3 = 3  # should be 3
1|2 = 3  # should be 3
1^2 = 3  # should be 3
7&3&2 = 2  # should be 2
1|2|4 = 7  # should be 7
1^2^4 = 7  # should be 7
7&3&2&1 = 0  # should be 0
1|2|4|9 = 15  # should be 15
1^2^4^9 = 14  # should be 14


broken output on 12.3:

$ echo | awk -f x.awk
7&3 = 3  # should be 3
1|2 = 3  # should be 3
1^2 = 3  # should be 3
awk: warning: function has too many arguments
 input record number 1, file
 source line number 7
7&3&2 = 3  # should be 2
awk: warning: function has too many arguments
 input record number 1, file
 source line number 8
1|2|4 = 3  # should be 7
awk: warning: function has too many arguments
 input record number 1, file
 source line number 9
1^2^4 = 3  # should be 7
awk: warning: function has too many arguments
 input record number 1, file
 source line number 11
7&3&2&1 = 3  # should be 0
awk: warning: function has too many arguments
 input record number 1, file
 source line number 12
1|2|4|9 = 3  # should be 15
awk: warning: function has too many arguments
 input record number 1, file
 source line number 13
1^2^4^9 = 3  # should be 14

-- 
You are receiving this mail because:
You are the assignee for the bug.