#include "list.h"
#include "string.h"
-int mood_compute_score(const void *row, long *score);
-
-static void *score_table;
+static struct osl_table *score_table;
static int ptr_compare(const struct osl_object *obj1, const struct osl_object *obj2)
{
};
static struct osl_table_description score_table_desc = {
- .dir = DATABASE_DIR,
.name = "score",
.num_columns = NUM_SCORE_COLUMNS,
.flags = 0,
obj.size = sizeof(long);
obj.data = para_malloc(obj.size);
*(long *)obj.data = new_score;
- PARA_NOTICE_LOG("new score: %ld, position: %u/%u\n", new_score,
+ PARA_DEBUG_LOG("new score: %ld, position: %u/%u\n", new_score,
new_pos, n);
return osl_update_object(score_table, row, SCORECOL_SCORE, &obj);
}
void score_shutdown(enum osl_close_flags flags)
{
osl_close_table(score_table, flags | OSL_FREE_VOLATILE);
+ score_table = NULL;
}
/**
* Init the scoring subsystem.
*
* \param ti Gets filled in by the function.
+ * \param db The database directory.
*
* \return The return value of the underlying call to osl_open_table().
*
* \sa score_shutdown().
*/
-int score_init(struct table_info *ti)
+int score_init(struct table_info *ti, const char *db)
{
+ score_table_desc.dir = db;
ti->desc = &score_table_desc;
ti->flags = TBLFLAG_SKIP_CREATE;
- int ret = osl_open_table(ti->desc, &ti->table);
-
- score_table = ti->table;
- return ret;
+ return osl_open_table(ti->desc, &score_table);
}