Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
mingw: get pw_name in UTF-8 format
author
Johannes Schindelin
<johannes.schindelin@gmx.de>
Thu, 27 Jun 2019 09:37:18 +0000
(
02:37
-0700)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 27 Jun 2019 19:56:13 +0000
(12:56 -0700)
Previously, we would have obtained the user name encoded in whatever the
current code page is.
Note: the "user name" here does not denote the full name but instead the
short logon name.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
8dca754
)
diff --git
a/compat/mingw.c
b/compat/mingw.c
index 9b6d2400e1107fa2a65f6ecd7d067809115930b9..8526876262aac6ce13f3c4ee4dcb9b17547e0aed 100644
(file)
--- a/
compat/mingw.c
+++ b/
compat/mingw.c
@@
-1946,13
+1946,19
@@
struct passwd *getpwuid(int uid)
static unsigned initialized;
static char user_name[100];
static struct passwd *p;
+ wchar_t buf[100];
DWORD len;
if (initialized)
return p;
- len = sizeof(user_name);
- if (!GetUserName(user_name, &len)) {
+ len = sizeof(buf);
+ if (!GetUserNameW(buf, &len)) {
+ initialized = 1;
+ return NULL;
+ }
+
+ if (xwcstoutf(user_name, buf, sizeof(user_name)) < 0) {
initialized = 1;
return NULL;
}