diff options
| author | andreas_kupries <akupries@shaw.ca> | 2002-02-04 23:51:59 (GMT) | 
|---|---|---|
| committer | andreas_kupries <akupries@shaw.ca> | 2002-02-04 23:51:59 (GMT) | 
| commit | c55c7b67fafe41bbab5c29af55c496cb8aa280d2 (patch) | |
| tree | f1ad93beb139106d9e926d1772e8004af2f8786f /unix/tclUnixChan.c | |
| parent | 2f38276564b6c39c16792e5ac344e5d5794f4cca (diff) | |
| download | tcl-c55c7b67fafe41bbab5c29af55c496cb8aa280d2.zip tcl-c55c7b67fafe41bbab5c29af55c496cb8aa280d2.tar.gz tcl-c55c7b67fafe41bbab5c29af55c496cb8aa280d2.tar.bz2  | |
	* unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported
	  by Dale Talcott <daletalcott@users.sourceforge.net>. Avoid to
	  write nothing into a file as STREAM based implementations will
	  consider this a EOF (if the file is a pipe). Not done in the
	  generic layer as this type of writing is actually useful to
	  check the state of a socket.
Diffstat (limited to 'unix/tclUnixChan.c')
| -rw-r--r-- | unix/tclUnixChan.c | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/unix/tclUnixChan.c b/unix/tclUnixChan.c index 6386bd5..aa11fcf 100644 --- a/unix/tclUnixChan.c +++ b/unix/tclUnixChan.c @@ -10,7 +10,7 @@   * See the file "license.terms" for information on usage and redistribution   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: tclUnixChan.c,v 1.27 2002/01/23 20:46:01 dgp Exp $ + * RCS: @(#) $Id: tclUnixChan.c,v 1.28 2002/02/04 23:51:59 andreas_kupries Exp $   */  #include	"tclInt.h"	/* Internal definitions for Tcl. */ @@ -429,6 +429,16 @@ FileOutputProc(instanceData, buf, toWrite, errorCodePtr)      int written;      *errorCodePtr = 0; + +    if (toWrite == 0) { +      /* SF Tcl Bug 465765. +       * Do not try to write nothing into a file. STREAM based +       * implementations will considers this as EOF (if there is a +       * pipe behind the file). +       */ + +      return 0; +    }      written = write(fsPtr->fd, buf, (size_t) toWrite);      if (written > -1) {          return written;  | 
