return value;
}
+static int get_many_ids(sqlite3 *db, char *query, size_t qlen, int *ids,
+ size_t len)
+{
+ sqlite3_stmt *stmt;
+ int r;
+ int i = 0;
+ if (!qlen)
+ qlen = strlen(query);
+ r = sqlite3_prepare_v2(db, query, qlen, &stmt, NULL);
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ if (i < len)
+ ids[i++] = sqlite3_column_int(stmt, 0);
+ }
+ sqlite3_finalize(stmt);
+ return i;
+}
+
char * get_talker_email(sqlite3 *db, int id)
{
return get_oneliner_field_by_id(db, talker_user_query, "email", id);
id);
}
+static char * talk_title_query = "select %s from events_talk where id = %d;";
+char * get_talk_title(sqlite3 *db, int id)
+{
+ return get_oneliner_field_by_id(db, talk_title_query, "title", id);
+}
+static char *talk_talkers_query = "select speaker_id from "
+ "events_talk_speakers where talk_id = %d;";
+int get_talk_talkers(sqlite3 *db, int id, int *ids, int len)
+{
+ int r;
+ char *query;
+ size_t qlen;
+ qlen = asprintf(&query, talk_talkers_query, id);
+ r = get_many_ids(db, query, qlen, ids, len);
+ free(query);
+ return r;
+}