Fix SEGV when new account is saved, start allowing for consolidating media files based on contents

master
teknomunk 9 months ago
parent d258d1fc70
commit ba163b9567

@ -548,6 +548,7 @@ void account_save( struct account* a )
{ {
char path[512]; char path[512];
get_account_path( a->id, path, 512 ); get_account_path( a->id, path, 512 );
create_account_skeleton(a->id);
char filename[512]; char filename[512];
snprintf( filename, 512, "%s/data.json", path ); snprintf( filename, 512, "%s/data.json", path );

@ -14,6 +14,7 @@
#define OBJ_TYPE struct media #define OBJ_TYPE struct media
struct json_object_field media_layout[] = { struct json_object_field media_layout[] = {
JSON_FIELD_INTEGER( duplicate_of_id, false ),
JSON_FIELD_STRING( content_type, false ), JSON_FIELD_STRING( content_type, false ),
JSON_FIELD_STRING( preview_url, false ), JSON_FIELD_STRING( preview_url, false ),
JSON_FIELD_STRING( remote_url, false ), JSON_FIELD_STRING( remote_url, false ),
@ -46,6 +47,13 @@ struct media* media_from_id( int id )
return NULL; return NULL;
} }
if( m->duplicate_of_id != 0 ) {
int new_id = m->duplicate_of_id;
media_free(m);
return media_from_id( new_id );
}
return m; return m;
} }
struct media* media_from_local_uri( const char* uri ) struct media* media_from_local_uri( const char* uri )

@ -5,6 +5,7 @@
struct media struct media
{ {
int id; int id;
int duplicate_of_id;
char* remote_url; char* remote_url;
char* preview_url; char* preview_url;
char* content_type; char* content_type;

Loading…
Cancel
Save