summaryrefslogtreecommitdiff
path: root/html.c
diff options
context:
space:
mode:
Diffstat (limited to 'html.c')
-rw-r--r--html.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/html.c b/html.c
index 5ede8f9..9ff5625 100644
--- a/html.c
+++ b/html.c
@@ -14,6 +14,7 @@
14#include "xs_curl.h" 14#include "xs_curl.h"
15#include "xs_unicode.h" 15#include "xs_unicode.h"
16#include "xs_url.h" 16#include "xs_url.h"
17#include "xs_random.h"
17 18
18#include "snac.h" 19#include "snac.h"
19 20
@@ -4286,9 +4287,12 @@ int html_post_handler(const xs_dict *req, const char *q_path,
4286 const char *fn = xs_list_get(attach_file, 0); 4287 const char *fn = xs_list_get(attach_file, 0);
4287 4288
4288 if (xs_is_string(fn) && *fn != '\0') { 4289 if (xs_is_string(fn) && *fn != '\0') {
4290 char rnd[32];
4291 xs_rnd_buf(rnd, sizeof(rnd));
4292
4289 char *ext = strrchr(fn, '.'); 4293 char *ext = strrchr(fn, '.');
4290 xs *hash = xs_md5_hex(fn, strlen(fn)); 4294 xs *hash = xs_md5_hex(rnd, strlen(rnd));
4291 xs *id = xs_fmt("%s%s", hash, ext); 4295 xs *id = xs_fmt("p-%s%s", hash, ext ? ext : "");
4292 xs *url = xs_fmt("%s/s/%s", snac.actor, id); 4296 xs *url = xs_fmt("%s/s/%s", snac.actor, id);
4293 int fo = xs_number_get(xs_list_get(attach_file, 1)); 4297 int fo = xs_number_get(xs_list_get(attach_file, 1));
4294 int fs = xs_number_get(xs_list_get(attach_file, 2)); 4298 int fs = xs_number_get(xs_list_get(attach_file, 2));