git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 22/24] mingw32: add uname()

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Feb 8, 2015, 08:55 UTC
Message-ID
<1423385748-19825-23-git-send-email-pclouds@gmail.com>
In-Reply-To
<1423385748-19825-1-git-send-email-pclouds@gmail.com>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 compat/mingw.c | 11 +++++++++++
 compat/mingw.h |  9 +++++++++
 2 files changed, 20 insertions(+)
diff --git a/compat/mingw.c b/compat/mingw.c
index c5c37e5..88140e4 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -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;
+}
diff --git a/compat/mingw.h b/compat/mingw.h
index df0e320..d00ba7a 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -77,6 +77,14 @@ struct itimerval {
 };
 #define ITIMER_REAL 0
 
+struct utsname {
+	char sysname[16];
+	char nodename[1];
+	char release[16];
+	char version[16];
+	char machine[1];
+};
+
 /*
  * sanitize preprocessor namespace polluted by Windows headers defining
  * macros which collide with git local versions
@@ -166,6 +174,7 @@ struct passwd *getpwuid(uid_t uid);
 int setitimer(int type, struct itimerval *in, struct itimerval *out);
 int sigaction(int sig, struct sigaction *in, struct sigaction *out);
 int link(const char *oldpath, const char *newpath);
+int uname(struct utsname *buf);
 
 /*
  * replacements of existing functions
-- 
2.3.0.rc1.137.g477eb31
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 28 of 30 in “nd/untracked-cache updates”
  1. 00/24 nd/untracked-cache updatesNguyễn Thái Ngọc Duy, Feb 8, 2015
  2. 01/24 dir.c: optionally compute sha-1 of a .gitignore fileNguyễn Thái Ngọc Duy, Feb 8, 2015
  3. Junio C HamanoFeb 11, 2015
  4. Duy NguyenFeb 16, 2015
  5. Junio C HamanoFeb 16, 2015
  6. 02/24 untracked cache: record .gitignore information and dir hierarchyNguyễn Thái Ngọc Duy, Feb 8, 2015
  7. 03/24 untracked cache: initial untracked cache validationNguyễn Thái Ngọc Duy, Feb 8, 2015
  8. 04/24 untracked cache: invalidate dirs recursively if .gitignore changesNguyễn Thái Ngọc Duy, Feb 8, 2015
  9. 05/24 untracked cache: make a wrapper around {open,read,close}dir()Nguyễn Thái Ngọc Duy, Feb 8, 2015
  10. 06/24 untracked cache: record/validate dir mtime and reuse cached outputNguyễn Thái Ngọc Duy, Feb 8, 2015
  11. 07/24 untracked cache: mark what dirs should be recursed/savedNguyễn Thái Ngọc Duy, Feb 8, 2015
  12. 08/24 untracked cache: don't open non-existent .gitignoreNguyễn Thái Ngọc Duy, Feb 8, 2015
  13. 09/24 ewah: add convenient wrapper ewah_serialize_strbuf()Nguyễn Thái Ngọc Duy, Feb 8, 2015
  14. 10/24 untracked cache: save to an index extensionNguyễn Thái Ngọc Duy, Feb 8, 2015
  15. Stefan BellerMar 7, 2015
  16. 11/24 untracked cache: load from UNTR index extensionNguyễn Thái Ngọc Duy, Feb 8, 2015
  17. Junio C HamanoFeb 9, 2015
  18. 12/24 untracked cache: invalidate at index addition or removalNguyễn Thái Ngọc Duy, Feb 8, 2015
  19. 13/24 read-cache.c: split racy stat test to a separate functionNguyễn Thái Ngọc Duy, Feb 8, 2015
  20. 14/24 untracked cache: avoid racy timestampsNguyễn Thái Ngọc Duy, Feb 8, 2015
  21. 15/24 untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATSNguyễn Thái Ngọc Duy, Feb 8, 2015
  22. 16/24 untracked cache: mark index dirty if untracked cache is updatedNguyễn Thái Ngọc Duy, Feb 8, 2015
  23. 17/24 untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHENguyễn Thái Ngọc Duy, Feb 8, 2015
  24. 18/24 status: enable untracked cacheNguyễn Thái Ngọc Duy, Feb 8, 2015
  25. 19/24 update-index: manually enable or disable untracked cacheNguyễn Thái Ngọc Duy, Feb 8, 2015
  26. 20/24 update-index: test the system before enabling untracked cacheNguyễn Thái Ngọc Duy, Feb 8, 2015
  27. 21/24 t7063: tests for untracked cacheNguyễn Thái Ngọc Duy, Feb 8, 2015
  28. 22/24 mingw32: add uname()Nguyễn Thái Ngọc Duy, Feb 8, 2015
  29. 23/24 untracked cache: guard and disable on system changesNguyễn Thái Ngọc Duy, Feb 8, 2015
  30. 24/24 git-status.txt: advertisement for untracked cacheNguyễn Thái Ngọc Duy, Feb 8, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.