fix for www hashes on rpi

This commit is contained in:
Andrew Pamment 2018-05-15 16:44:39 +10:00
parent b9dbf0f21f
commit ff35d9bec9

View File

@ -7,6 +7,7 @@
#include "bbs.h" #include "bbs.h"
#include "../deps/hashids/hashids.h" #include "../deps/hashids/hashids.h"
extern struct bbs_config conf; extern struct bbs_config conf;
extern struct user_record *gUser; extern struct user_record *gUser;
extern char * aha(char *input); extern char * aha(char *input);
@ -192,7 +193,7 @@ void www_add_hash_to_db(char *hash, time_t expiry) {
} }
char *www_decode_hash(char *hash) { char *www_decode_hash(char *hash) {
long long unsigned numbers[4]; unsigned long long numbers[4];
int dir, sub, fid, uid; int dir, sub, fid, uid;
hashids_t *hashids = hashids_init(conf.bbs_name); hashids_t *hashids = hashids_init(conf.bbs_name);
char buffer[PATH_MAX]; char buffer[PATH_MAX];
@ -255,13 +256,13 @@ char *www_create_link(int dir, int sub, int fid) {
hashids_t *hashids = hashids_init(conf.bbs_name); hashids_t *hashids = hashids_init(conf.bbs_name);
sizereq = hashids_estimate_encoded_size_v(hashids, 4, gUser->id, dir, sub, fid); sizereq = hashids_estimate_encoded_size_v(hashids, 4, (unsigned long long)gUser->id, (unsigned long long)dir, (unsigned long long)sub, (unsigned long long)fid);
hashid = (char *)malloc(sizereq + 1); hashid = (char *)malloc(sizereq + 1);
memset(hashid, 0, sizereq + 1); memset(hashid, 0, sizereq + 1);
if (hashids_encode_v(hashids, hashid, 4, gUser->id, dir, sub, fid) == 0) { if (hashids_encode_v(hashids, hashid, 4, (unsigned long long)gUser->id, (unsigned long long)dir, (unsigned long long)sub, (unsigned long long)fid) == 0) {
hashids_free(hashids); hashids_free(hashids);
free(hashid); free(hashid);
return NULL; return NULL;