aboutsummaryrefslogtreecommitdiffstats
path: root/src/blogc/sysinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/blogc/sysinfo.c')
-rw-r--r--src/blogc/sysinfo.c35
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