From 848bd3e865fb2daf75d76cbb75a4a39f9b82b516 Mon Sep 17 00:00:00 2001 From: default Date: Sun, 13 Apr 2025 14:30:50 +0200 Subject: Cache the timezone inside the snac struct. --- data.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'data.c') diff --git a/data.c b/data.c index 6661472..440e9df 100644 --- a/data.c +++ b/data.c @@ -282,6 +282,8 @@ int user_open(snac *user, const char *uid) } else srv_log(xs_fmt("error parsing '%s'", cfg_file)); + + user->tz = xs_dict_get_def(user->config, "tz", "UTC"); } else srv_debug(2, xs_fmt("error opening '%s' %d", cfg_file, errno)); -- cgit v1.2.3 From d11d03787fa5f45926859e780d9c8c0bf56bf5ee Mon Sep 17 00:00:00 2001 From: default Date: Fri, 18 Apr 2025 08:44:47 +0200 Subject: New command-line options 'lists' and 'list_members'. --- data.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'data.c') diff --git a/data.c b/data.c index 440e9df..53f38e9 100644 --- a/data.c +++ b/data.c @@ -2340,6 +2340,19 @@ xs_val *list_maint(snac *user, const char *list, int op) } break; + + case 4: /** find list id by name **/ + if (xs_is_string(list)) { + xs *lol = list_maint(user, NULL, 0); + const xs_list *li; + + xs_list_foreach(lol, li) { + if (strcmp(list, xs_list_get(li, 1)) == 0) { + l = xs_dup(xs_list_get(li, 0)); + break; + } + } + } } return l; -- cgit v1.2.3 From 1ebf2a2d874f3ee589785e8175abdcb33a963d72 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 18 Apr 2025 09:08:48 +0200 Subject: New command-line option 'add_to_list'. --- data.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'data.c') diff --git a/data.c b/data.c index 53f38e9..88f1921 100644 --- a/data.c +++ b/data.c @@ -2404,7 +2404,7 @@ xs_val *list_content(snac *user, const char *list, const char *actor_md5, int op break; case 1: /** append actor to list **/ - if (actor_md5 != NULL) { + if (xs_is_string(actor_md5) && xs_is_hex(actor_md5)) { if (!index_in_md5(fn, actor_md5)) index_add_md5(fn, actor_md5); } @@ -2412,7 +2412,7 @@ xs_val *list_content(snac *user, const char *list, const char *actor_md5, int op break; case 2: /** delete actor from list **/ - if (actor_md5 != NULL) + if (xs_is_string(actor_md5) && xs_is_hex(actor_md5)) index_del_md5(fn, actor_md5); break; -- cgit v1.2.3