awk: Fix handling of functions with empty body

ammend b79a0fef99 to properly
handle functions defined in another scope.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
This commit is contained in:
Bernhard Reutner-Fischer
2013-07-31 15:29:20 +02:00
parent e418b2e7bb
commit a060a1ad96
2 changed files with 29 additions and 1 deletions

View File

@@ -44,6 +44,34 @@ testing "awk handles empty function f(arg){}" \
"L1\n\nL2\n\n" \
"" ""
prg='
function outer_fun() {
return 1
}
END {
i=1
print "L" i "\n"
i += outer_fun()
print "L" i "\n"
}'
testing "awk properly handles function from other scope" \
"awk '$prg'" \
"L1\n\nL2\n\n" \
"" ""
prg='
END {
i=1
print "L" i "\n"
i + trigger_error_fun()
print "L" i "\n"
}'
testing "awk properly handles undefined function" \
"awk '$prg' 2>&1" \
"L1\n\nawk: cmd. line:5: Call to undefined function\n" \
"" ""
optional DESKTOP
testing "awk hex const 1" "awk '{ print or(0xffffffff,1) }'" "4294967295\n" "" "\n"
testing "awk hex const 2" "awk '{ print or(0x80000000,1) }'" "2147483649\n" "" "\n"