summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile7
-rw-r--r--activitypub.c5
-rw-r--r--http.c3
-rw-r--r--snac.c21
-rw-r--r--snac.h4
5 files changed, 11 insertions, 29 deletions
diff --git a/Makefile b/Makefile
index 9f729b5..ca33810 100644
--- a/Makefile
+++ b/Makefile
@@ -15,14 +15,15 @@ dep:
15 $(CC) -I/usr/local/include -MM *.c > makefile.depend 15 $(CC) -I/usr/local/include -MM *.c > makefile.depend
16 16
17activitypub.o: activitypub.c xs.h xs_encdec.h xs_json.h xs_curl.h \ 17activitypub.o: activitypub.c xs.h xs_encdec.h xs_json.h xs_curl.h \
18 xs_mime.h xs_openssl.h xs_regex.h snac.h 18 xs_mime.h xs_openssl.h xs_regex.h xs_time.h snac.h
19data.o: data.c xs.h xs_io.h xs_json.h xs_openssl.h snac.h 19data.o: data.c xs.h xs_io.h xs_json.h xs_openssl.h snac.h
20html.o: html.c xs.h xs_io.h xs_encdec.h xs_json.h xs_regex.h xs_set.h \ 20html.o: html.c xs.h xs_io.h xs_encdec.h xs_json.h xs_regex.h xs_set.h \
21 xs_openssl.h snac.h
22http.o: http.c xs.h xs_io.h xs_encdec.h xs_openssl.h xs_curl.h xs_time.h \
21 snac.h 23 snac.h
22http.o: http.c xs.h xs_io.h xs_encdec.h xs_openssl.h xs_curl.h snac.h
23httpd.o: httpd.c xs.h xs_io.h xs_encdec.h xs_json.h xs_socket.h \ 24httpd.o: httpd.c xs.h xs_io.h xs_encdec.h xs_json.h xs_socket.h \
24 xs_httpd.h snac.h 25 xs_httpd.h snac.h
25main.o: main.c xs.h xs_io.h xs_encdec.h xs_json.h snac.h 26main.o: main.c xs.h xs_io.h xs_encdec.h xs_json.h snac.h
26snac.o: snac.c xs.h xs_io.h xs_encdec.h xs_json.h xs_curl.h xs_openssl.h \ 27snac.o: snac.c xs.h xs_io.h xs_encdec.h xs_json.h xs_curl.h xs_openssl.h \
27 xs_socket.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h snac.h 28 xs_socket.h xs_httpd.h xs_mime.h xs_regex.h xs_set.h xs_time.h snac.h
28webfinger.o: webfinger.c xs.h xs_encdec.h xs_json.h xs_curl.h snac.h 29webfinger.o: webfinger.c xs.h xs_encdec.h xs_json.h xs_curl.h snac.h
diff --git a/activitypub.c b/activitypub.c
index 9fee973..8771ee8 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -8,6 +8,7 @@
8#include "xs_mime.h" 8#include "xs_mime.h"
9#include "xs_openssl.h" 9#include "xs_openssl.h"
10#include "xs_regex.h" 10#include "xs_regex.h"
11#include "xs_time.h"
11 12
12#include "snac.h" 13#include "snac.h"
13 14
@@ -281,7 +282,7 @@ d_char *msg_base(snac *snac, char *type, char *id, char *actor, char *date, char
281 282
282 /* generated values */ 283 /* generated values */
283 if (date && strcmp(date, "@now") == 0) 284 if (date && strcmp(date, "@now") == 0)
284 date = published = xs_utc_time("%Y-%m-%dT%H:%M:%SZ"); 285 date = published = xs_str_utctime(0, "%Y-%m-%dT%H:%M:%SZ");
285 286
286 if (id != NULL) { 287 if (id != NULL) {
287 if (strcmp(id, "@dummy") == 0) { 288 if (strcmp(id, "@dummy") == 0) {
@@ -649,7 +650,7 @@ int process_message(snac *snac, char *msg, char *req)
649 650
650 if (xs_is_null(xs_dict_get(f_msg, "published"))) { 651 if (xs_is_null(xs_dict_get(f_msg, "published"))) {
651 /* add a date if it doesn't include one (Mastodon) */ 652 /* add a date if it doesn't include one (Mastodon) */
652 xs *date = xs_utc_time("%Y-%m-%dT%H:%M:%SZ"); 653 xs *date = xs_str_utctime(0, "%Y-%m-%dT%H:%M:%SZ");
653 f_msg = xs_dict_set(f_msg, "published", date); 654 f_msg = xs_dict_set(f_msg, "published", date);
654 } 655 }
655 656
diff --git a/http.c b/http.c
index a58aaf4..915d5f3 100644
--- a/http.c
+++ b/http.c
@@ -6,6 +6,7 @@
6#include "xs_encdec.h" 6#include "xs_encdec.h"
7#include "xs_openssl.h" 7#include "xs_openssl.h"
8#include "xs_curl.h" 8#include "xs_curl.h"
9#include "xs_time.h"
9 10
10#include "snac.h" 11#include "snac.h"
11 12
@@ -27,7 +28,7 @@ d_char *http_signed_request(snac *snac, char *method, char *url,
27 char *k, *v; 28 char *k, *v;
28 d_char *response; 29 d_char *response;
29 30
30 date = xs_utc_time("%a, %d %b %Y %H:%M:%S GMT"); 31 date = xs_str_utctime(0, "%a, %d %b %Y %H:%M:%S GMT");
31 32
32 { 33 {
33 xs *s = xs_replace(url, "https:/" "/", ""); 34 xs *s = xs_replace(url, "https:/" "/", "");
diff --git a/snac.c b/snac.c
index 3140474..93b4e05 100644
--- a/snac.c
+++ b/snac.c
@@ -14,6 +14,7 @@
14#include "xs_mime.h" 14#include "xs_mime.h"
15#include "xs_regex.h" 15#include "xs_regex.h"
16#include "xs_set.h" 16#include "xs_set.h"
17#include "xs_time.h"
17 18
18#include "snac.h" 19#include "snac.h"
19 20
@@ -28,24 +29,6 @@ int srv_running = 0;
28int dbglevel = 0; 29int dbglevel = 0;
29 30
30 31
31d_char *xs_time(char *fmt, int local)
32/* returns a d_char with a formated time */
33{
34 time_t t = time(NULL);
35 struct tm tm;
36 char tmp[64];
37
38 if (local)
39 localtime_r(&t, &tm);
40 else
41 gmtime_r(&t, &tm);
42
43 strftime(tmp, sizeof(tmp), fmt, &tm);
44
45 return xs_str_new(tmp);
46}
47
48
49d_char *tid(int offset) 32d_char *tid(int offset)
50/* returns a time-based Id */ 33/* returns a time-based Id */
51{ 34{
@@ -92,7 +75,7 @@ void srv_debug(int level, d_char *str)
92 } 75 }
93 76
94 if (dbglevel >= level) { 77 if (dbglevel >= level) {
95 xs *tm = xs_local_time("%H:%M:%S"); 78 xs *tm = xs_str_localtime(0, "%H:%M:%S");
96 fprintf(stderr, "%s %s\n", tm, msg); 79 fprintf(stderr, "%s %s\n", tm, msg);
97 } 80 }
98} 81}
diff --git a/snac.h b/snac.h
index 9a597b2..dc49e8d 100644
--- a/snac.h
+++ b/snac.h
@@ -18,10 +18,6 @@ extern const char *susie;
18 18
19#define L(s) (s) 19#define L(s) (s)
20 20
21d_char *xs_time(char *fmt, int local);
22#define xs_local_time(fmt) xs_time(fmt, 1)
23#define xs_utc_time(fmt) xs_time(fmt, 0)
24
25d_char *tid(int offset); 21d_char *tid(int offset);
26double ftime(void); 22double ftime(void);
27 23