ref: 279f78a86cbff3f526fe1a1debd4d4f5766f96b0
dir: /test/T.getline/
#!/bin/rc
echo T.getline: test getline function
who >foo1
cat foo1 | $awk '
BEGIN {
while (getline)
print
exit
}
' >foo
cmp -s foo1 foo || echo 'BAD: T.getline (bare getline)'
who >foo1
cat foo1 | $awk '
BEGIN {
while (getline xxx)
print xxx
exit
}
' >foo
cmp -s foo1 foo || echo 'BAD: T.getline (getline xxx)'
sed 1000q /lib/ucd/UnicodeData.txt >foo.txt
$awk '
BEGIN {
while (getline <"foo.txt")
print
exit
}
' >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (getline <file)'
cat foo.txt | $awk '
BEGIN {
while (getline <"-") # stdin
print
exit
}
' >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (getline <"-")'
$awk '
BEGIN {
while (getline <ARGV[1])
print
exit
}
' foo.txt >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (getline <arg)'
$awk '
BEGIN {
while (getline x <ARGV[1])
print x
exit
}
' foo.txt >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (getline x <arg)'
$awk '
BEGIN {
while (("cat " ARGV[1]) | getline)
print
exit
}
' foo.txt >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (cat arg | getline)'
$awk '
BEGIN {
while (("cat " ARGV[1]) | getline x)
print x
exit
}
' foo.txt >foo
cmp -s foo.txt foo || echo 'BAD: T.getline (cat arg | getline x)'
$awk ' BEGIN { print getline <"/glop/glop/glop" } ' >foo
echo '-1' >foo1
cmp -s foo foo1 || echo 'BAD: T.getline (non-existent file)'
echo 'false false equal' >foo1
$awk 'BEGIN {
"echo 0" | getline
if ($0) printf "true "
else printf "false "
if ($1) printf "true "
else printf "false "
if ($0==$1) printf "equal\n"
else printf "not equal\n"
}' >foo2
cmp -s foo1 foo2 || echo >[1=2] 'BAD: T.getline bad $0 type in cmd|getline'
echo 'L1
L2' | $awk 'BEGIN { $0="old stuff"; $1="new"; getline x; print}' >foo1
echo 'new stuff' >foo2
cmp -s foo1 foo2 || echo >[1=2] 'BAD: T.getline bad update $0'