mirror of
https://github.com/git/git.git
synced 2026-01-26 18:44:50 +00:00
mingw: use domain information for default email
When a user is registered in a Windows domain, it is really easy to obtain the email address. So let's do that. Suggested by Lutz Roeder. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
@@ -1953,6 +1953,11 @@ static char *get_extended_user_info(enum EXTENDED_NAME_FORMAT type)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *mingw_query_user_email(void)
|
||||
{
|
||||
return get_extended_user_info(NameUserPrincipal);
|
||||
}
|
||||
|
||||
struct passwd *getpwuid(int uid)
|
||||
{
|
||||
static unsigned initialized;
|
||||
|
||||
@@ -434,6 +434,8 @@ int mingw_offset_1st_component(const char *path);
|
||||
#define PATH_SEP ';'
|
||||
extern const char *program_data_config(void);
|
||||
#define git_program_data_config program_data_config
|
||||
extern char *mingw_query_user_email(void);
|
||||
#define query_user_email mingw_query_user_email
|
||||
#if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800)
|
||||
#define PRIuMAX "I64u"
|
||||
#define PRId64 "I64d"
|
||||
|
||||
@@ -376,6 +376,10 @@ static inline char *git_find_last_dir_sep(const char *path)
|
||||
#define git_program_data_config() NULL
|
||||
#endif
|
||||
|
||||
#ifndef query_user_email
|
||||
#define query_user_email() NULL
|
||||
#endif
|
||||
|
||||
#if defined(__HP_cc) && (__HP_cc >= 61000)
|
||||
#define NORETURN __attribute__((noreturn))
|
||||
#define NORETURN_PTR
|
||||
|
||||
4
ident.c
4
ident.c
@@ -169,7 +169,9 @@ const char *ident_default_email(void)
|
||||
strbuf_addstr(&git_default_email, email);
|
||||
committer_ident_explicitly_given |= IDENT_MAIL_GIVEN;
|
||||
author_ident_explicitly_given |= IDENT_MAIL_GIVEN;
|
||||
} else
|
||||
} else if ((email = query_user_email()) && email[0])
|
||||
strbuf_addstr(&git_default_email, email);
|
||||
else
|
||||
copy_email(xgetpwuid_self(&default_email_is_bogus),
|
||||
&git_default_email, &default_email_is_bogus);
|
||||
strbuf_trim(&git_default_email);
|
||||
|
||||
Reference in New Issue
Block a user