typedef struct user {
    char name[MAX_NAME];
    char profile_pic[MAX_NAME];  // This is a *filename*, not the file contents.
    struct post *first_post;
    struct user *friends[MAX_FRIENDS];
    struct user *next;
} User;

typedef struct post {
    char author[MAX_NAME];
    char *contents;
    time_t *date;
    struct post *next;
} Post;

int remove_post(Post **head_post){
    Post *head = *head_post;
    if(head->next == NULL){
        free(head->next);
    }
    else{
        remove_post(&(head->next));
    }
    free(head->date);
    free(*head_post);
    return 0;
}
Delete Posts in a linked structure recursively