Skip to content

Commit

Permalink
Windows: A minimal implemention of getpwuid().
Browse files Browse the repository at this point in the history
getpwuid() is implemented just enough that GIT does not issue errors.
Since the information that it returns is not very useful, users are
required to set up user.name and user.email configuration.

All uses of getpwuid() are like getpwuid(getuid()), hence, the return value
of getuid() is irrelevant and the uid parameter is not even looked at.

Side note: getpwnam() is only used to resolve '~' and '~username' paths,
which is an idiom not known on Windows, hence, we don't implement it.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
  • Loading branch information
Johannes Sixt committed Jun 23, 2008
1 parent 3e4a1ba commit f7597ac
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions compat/mingw.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,15 @@ char *mingw_getcwd(char *pointer, int len)

struct passwd *getpwuid(int uid)
{
static char user_name[100];
static struct passwd p;

DWORD len = sizeof(user_name);
if (!GetUserName(user_name, &len))
return NULL;
p.pw_name = user_name;
p.pw_gecos = "unknown";
p.pw_dir = NULL;
return &p;
}

Expand Down

0 comments on commit f7597ac

Please sign in to comment.