|
Packit Service |
f629e6 |
# From: megaadm@rina.quantum.de
|
|
Packit Service |
f629e6 |
# Subject: Bug report - closing down pipes which read from shell com
|
|
Packit Service |
f629e6 |
# To: bug-gnu-utils@prep.ai.mit.edu
|
|
Packit Service |
f629e6 |
# Date: Thu, 27 Feb 1997 23:19:16 +0100 (CET)
|
|
Packit Service |
f629e6 |
# CC: arnold@gnu.ai.mit.edu
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# Hello people,
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# i think i found a bug or something mysterious behaviour in
|
|
Packit Service |
f629e6 |
# gawk Version 3.0 patchlevel 0.
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# I am running on linux 2.0.25 under bash.
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# Could you please have a look at the following awk program
|
|
Packit Service |
f629e6 |
# an let me please know, if this is what i expect it to,
|
|
Packit Service |
f629e6 |
# namely a bug.
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# ----------- cut here --------------------------------------------
|
|
Packit Service |
f629e6 |
BEGIN {
|
|
Packit Service |
f629e6 |
# OS is linux 2.0.25
|
|
Packit Service |
f629e6 |
# shell is bash
|
|
Packit Service |
f629e6 |
# Gnu Awk (gawk) 3.0, patchlevel 0
|
|
Packit Service |
f629e6 |
# The command i typed on the shell was "gawk -f <this_prog> -"
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
#com = "cal 01 1997"
|
|
Packit Service |
f629e6 |
com = ("cat " SRCDIR "/pipeio2.in")
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# Don't use empty lines, because Windows ECHO does
|
|
Packit Service |
f629e6 |
# something different when invoked without arguments
|
|
Packit Service |
f629e6 |
while ((com | getline fnam) > 0 && fnam != "") {
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# com_tr = "echo " fnam " | tr [0-9]. ..........."
|
|
Packit Service |
f629e6 |
# com_tr = "echo " fnam " | sed 's/[0-9]/./g'"
|
|
Packit Service |
f629e6 |
com_tr = "echo " fnam " | sed \"s/[0-9]/./g\""
|
|
Packit Service |
f629e6 |
# print "\'" com_tr "\'"
|
|
Packit Service |
f629e6 |
print "'" com_tr "'"
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
com_tr | getline nam
|
|
Packit Service |
f629e6 |
print nam
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# please run that program and take a look at the
|
|
Packit Service |
f629e6 |
# output. I think this is what was expected.
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# Then comment in the following 4 lines and see
|
|
Packit Service |
f629e6 |
# what happens. I expect the first pipe "com | getline"
|
|
Packit Service |
f629e6 |
# not to be close, but i think this is exactly what happens
|
|
Packit Service |
f629e6 |
# So, is this ok ?
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
if (close(com_tr) < 0) {
|
|
Packit Service |
f629e6 |
print ERRNO
|
|
Packit Service |
f629e6 |
break
|
|
Packit Service |
f629e6 |
}
|
|
Packit Service |
f629e6 |
}
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
close(com)
|
|
Packit Service |
f629e6 |
}
|
|
Packit Service |
f629e6 |
# ----------- cut here --------------------------------------------
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# There is another thing i do not understand.
|
|
Packit Service |
f629e6 |
# Why doesn't the awk - command "close" reports an
|
|
Packit Service |
f629e6 |
# error, if i would say close("abc") which i had never
|
|
Packit Service |
f629e6 |
# openend ?
|
|
Packit Service |
f629e6 |
#
|
|
Packit Service |
f629e6 |
# Regards,
|
|
Packit Service |
f629e6 |
# Ulrich Gvbel
|
|
Packit Service |
f629e6 |
# --
|
|
Packit Service |
f629e6 |
# /********************************************************\
|
|
Packit Service |
f629e6 |
# * Ulrich Gvbel, goebel@quantum.de *
|
|
Packit Service |
f629e6 |
# * Quantum Gesellschaft f|r Software mbH, Dortmund *
|
|
Packit Service |
f629e6 |
# * phone : +49-231-9749-201 fax: +49-231-9749-3 *
|
|
Packit Service |
f629e6 |
# * private: +49-231-803994 fax: +49-231-803994 *
|
|
Packit Service |
f629e6 |
# \********************************************************/
|