diff options
Diffstat (limited to 'src/blogc/sysinfo.c')
-rw-r--r-- | src/blogc/sysinfo.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/blogc/sysinfo.c b/src/blogc/sysinfo.c index d934483..61c8b1d 100644 --- a/src/blogc/sysinfo.c +++ b/src/blogc/sysinfo.c @@ -14,6 +14,14 @@ #include <unistd.h> #endif /* HAVE_UNISTD_H */ +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif /* HAVE_SYS_TYPES_H */ + +#ifdef HAVE_PWD_H +#include <pwd.h> +#endif /* HAVE_PWD_H */ + #ifdef HAVE_TIME_H #include <time.h> #endif /* HAVE_TIME_H */ @@ -52,6 +60,33 @@ blogc_sysinfo_inject_hostname(bc_trie_t *global) char* +blogc_sysinfo_get_username(void) +{ +#ifndef HAVE_SYSINFO_USERNAME + return NULL; +#else + uid_t u = geteuid(); + struct passwd *p = getpwuid(u); + if (p == NULL) + return NULL; + + return bc_strdup(p->pw_name); +#endif +} + + +void +blogc_sysinfo_inject_username(bc_trie_t *global) +{ + char *username = blogc_sysinfo_get_username(); + if (username == NULL) + return; + + bc_trie_insert(global, "BLOGC_SYSINFO_USERNAME", username); +} + + +char* blogc_sysinfo_get_datetime(void) { #ifndef HAVE_SYSINFO_DATETIME |