2005-10-23 Moritz Schulte <moritz@g10code.com>
authorMoritz Schulte <mo@g10code.com>
Sun, 23 Oct 2005 13:34:00 +0000 (13:34 +0000)
committerMoritz Schulte <mo@g10code.com>
Sun, 23 Oct 2005 13:34:00 +0000 (13:34 +0000)
* support.c (lookup_own_username): New function.
* support.h (lookup_own_username): Declare.

src/common/ChangeLog
src/common/support.c
src/common/support.h

index a398ae1..e7a3e90 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-23  Moritz Schulte  <moritz@g10code.com>
+
+       * support.c (lookup_own_username): New function.
+       * support.h (lookup_own_username): Declare.
+
 2005-10-16  Moritz Schulte  <moritz@g10code.com>
 
        * support.c (key_filename_construct): New function.
index 7ab54ba..91bafde 100644 (file)
@@ -29,6 +29,7 @@
 #include <sys/stat.h>
 #include <errno.h>
 #include <stdarg.h>
+#include <pwd.h>
 
 #include <gcrypt.h>
 
@@ -484,3 +485,25 @@ key_filename_construct (char **filename, const char *serialno)
 
   return 0;
 }
+
+gpg_error_t
+lookup_own_username (const char **username)
+{
+  struct passwd *pwent;
+  gpg_error_t err;
+  uid_t uid;
+
+  uid = getuid ();
+  pwent = getpwuid (uid);
+  if (! pwent)
+    err = gpg_error_from_errno (errno);
+  else
+    {
+      *username = pwent->pw_name;
+      err = 0;
+    }
+
+  return err;
+}
+
+/* END */
index 213dfa6..f639d0e 100644 (file)
@@ -35,5 +35,6 @@ gpg_error_t sexp_to_string (gcry_sexp_t sexp, char **sexp_string);
 gpg_error_t file_to_string (const char *filename, char **string);
 gpg_error_t string_to_sexp (gcry_sexp_t *sexp, char *string);
 gpg_error_t key_filename_construct (char **filename, const char *serialno);
+gpg_error_t lookup_own_username (const char **username);
 
 #endif