about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/accounts.c11
-rw-r--r--src/config/accounts.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 9b838f59..0abfc0d4 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -786,11 +786,22 @@ accounts_set_last_activity(const char * const account_name)
         if (res) {
             char *timestr = g_time_val_to_iso8601(&nowtv);
             g_key_file_set_string(accounts, account_name, "last.activity", timestr);
+            free(timestr);
             _save_accounts();
         }
     }
 }
 
+char *
+accounts_get_last_activity(const char * const account_name)
+{
+    if (accounts_account_exists(account_name)) {
+        return g_key_file_get_string(accounts, account_name, "last.activity", NULL);
+    } else {
+        return NULL;
+    }
+}
+
 void
 accounts_set_login_presence(const char * const account_name, const char * const value)
 {
diff --git a/src/config/accounts.h b/src/config/accounts.h
index 14bdbf97..b64cafa6 100644
--- a/src/config/accounts.h
+++ b/src/config/accounts.h
@@ -68,6 +68,7 @@ void accounts_set_otr_policy(const char * const account_name, const char * const
 void accounts_set_last_presence(const char * const account_name, const char * const value);
 void accounts_set_last_status(const char * const account_name, const char * const value);
 void accounts_set_last_activity(const char * const account_name);
+char * accounts_get_last_activity(const char * const account_name);
 void accounts_set_login_presence(const char * const account_name, const char * const value);
 resource_presence_t accounts_get_login_presence(const char * const account_name);
 char * accounts_get_last_status(const char * const account_name);