forked from cory/tildefriends
ssb.js is now entirely in C. Usual disclaimers about it not being amazingly well tested.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4111 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
28
src/ssb.db.c
28
src/ssb.db.c
@ -1102,6 +1102,34 @@ const char** tf_ssb_db_following_deep(tf_ssb_t* ssb, const char** ids, int count
|
||||
return (const char**)result;
|
||||
}
|
||||
|
||||
typedef struct _identities_t
|
||||
{
|
||||
const char** ids;
|
||||
int count;
|
||||
} identities_t;
|
||||
|
||||
static void _add_identity(const char* identity, void* user_data)
|
||||
{
|
||||
identities_t* identities = user_data;
|
||||
char full_id[k_id_base64_len];
|
||||
snprintf(full_id, sizeof(full_id), "@%s", identity);
|
||||
identities->ids = tf_resize_vec(identities->ids, sizeof(const char*) * (identities->count + 1));
|
||||
identities->ids[identities->count++] = tf_strdup(full_id);
|
||||
}
|
||||
|
||||
const char** tf_ssb_db_get_all_visible_identities(tf_ssb_t* ssb, int depth)
|
||||
{
|
||||
identities_t identities = { 0 };
|
||||
tf_ssb_db_identity_visit_all(ssb, _add_identity, &identities);
|
||||
const char** following = tf_ssb_db_following_deep(ssb, identities.ids, identities.count, depth);
|
||||
for (int i = 0; i < identities.count; i++)
|
||||
{
|
||||
tf_free((void*)identities.ids[i]);
|
||||
}
|
||||
tf_free(identities.ids);
|
||||
return following;
|
||||
}
|
||||
|
||||
static void _test_private(sqlite3* db, const uint8_t* private_key)
|
||||
{
|
||||
sqlite3_stmt* statement = NULL;
|
||||
|
Reference in New Issue
Block a user