use xsnprintf for generating git object headers
[gitweb.git] / compat / mingw.c
index 70f3191a4f19f10a156d1f2c054943d5147ab049..a168800ae0d1a6ffe741dfda26dbe5133cc4c4fc 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,16 @@ void mingw_startup()
        /* initialize Unicode console */
        winansi_init();
 }
+
+int uname(struct utsname *buf)
+{
+       DWORD v = GetVersion();
+       memset(buf, 0, sizeof(*buf));
+       xsnprintf(buf->sysname, sizeof(buf->sysname), "Windows");
+       xsnprintf(buf->release, sizeof(buf->release),
+                "%u.%u", v & 0xff, (v >> 8) & 0xff);
+       /* assuming NT variants only.. */
+       xsnprintf(buf->version, sizeof(buf->version),
+                 "%u", (v >> 16) & 0x7fff);
+       return 0;
+}