test-lib-functions: detect test_when_finished in subshell
[gitweb.git] / compat / mingw.c
index 70f3191a4f19f10a156d1f2c054943d5147ab049..f74da235f598d8b0346fac8b48c4155f55ae5b81 100644 (file)
@@ -681,7 +681,7 @@ int pipe(int filedes[2])
                return -1;
        }
        filedes[1] = _open_osfhandle((int)h[1], O_NOINHERIT);
-       if (filedes[0] < 0) {
+       if (filedes[1] < 0) {
                close(filedes[0]);
                CloseHandle(h[1]);
                return -1;
@@ -2128,3 +2128,14 @@ void mingw_startup()
        /* initialize Unicode console */
        winansi_init();
 }
+
+int uname(struct utsname *buf)
+{
+       DWORD v = GetVersion();
+       memset(buf, 0, sizeof(*buf));
+       strcpy(buf->sysname, "Windows");
+       sprintf(buf->release, "%u.%u", v & 0xff, (v >> 8) & 0xff);
+       /* assuming NT variants only.. */
+       sprintf(buf->version, "%u", (v >> 16) & 0x7fff);
+       return 0;
+}