From a3aacfc6c2cbeccb81e18d6906fcc47cf01456a0 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 14 Apr 2014 14:33:46 -0700 Subject: git-save: improve commit authorship data We used to always just commit as "subsurface@hohndel.org" because libgit-19 doesn't have the interfaces to do user name lookup. This does better if you have libgit-20, using "git_signature_default()" to get the actual user that does the saving. Signed-off-by: Linus Torvalds Signed-off-by: Dirk Hohndel --- linux.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'linux.c') diff --git a/linux.c b/linux.c index ea0170dc8..8c79a3f2d 100644 --- a/linux.c +++ b/linux.c @@ -2,16 +2,39 @@ /* implements Linux specific functions */ #include "dive.h" #include "display.h" +#include "membuffer.h" #include #include #include #include #include #include +#include +#include const char system_divelist_default_font[] = "Sans"; const int system_divelist_default_font_size = 8; +void subsurface_user_info(struct user_info *user) +{ + struct passwd *pwd = getpwuid(getuid()); + const char *username = getenv("USER"); + + if (pwd) { + if (pwd->pw_gecos && *pwd->pw_gecos) + user->name = pwd->pw_gecos; + if (!username) + username = pwd->pw_name; + } + if (username && *username) { + char hostname[64]; + struct membuffer mb = { 0 }; + gethostname(hostname, sizeof(hostname)); + put_format(&mb, "%s@%s", username, hostname); + user->email = mb_cstring(&mb); + } +} + const char *system_default_filename(void) { const char *home, *user; -- cgit v1.2.3-70-g09d2