From: brian m. carlson Date: Wed, 24 Oct 2018 02:20:24 GMT Subject: Re: [PATCH 2/3] mingw: replace MSVCRT's fstat() with a Win32-based implementation Message-ID: <20181024022024.GE6119@genre.crustytoothpaste.net> In-Reply-To: On Tue, Oct 23, 2018 at 03:23:21AM -0700, Karsten Blees via GitGitGadget wrote: > - if (!get_file_info_by_handle(fh, buf)) > + case FILE_TYPE_CHAR: > + case FILE_TYPE_PIPE: > + /* initialize stat fields */ > + memset(buf, 0, sizeof(*buf)); > + buf->st_nlink = 1; > + > + if (type == FILE_TYPE_CHAR) { > + buf->st_mode = _S_IFCHR; > + } else { > + buf->st_mode = _S_IFIFO; > + if (PeekNamedPipe(fh, NULL, 0, NULL, &avail, NULL)) > + buf->st_size = avail; These lines strike me as a bit odd. As far as I'm aware, Unix systems don't return anything useful in this field when calling fstat on a pipe. Is there a reason we fill this in on Windows? If so, could the commit message explain what that is? -- brian m. carlson: Houston, Texas, US OpenPGP: https://keybase.io/bk2204