X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=score.c;h=81b3ded0021f41115dcc78a8f9605d722195c389;hp=bc40668f6fd59605b5d4df0de12b113d69b23075;hb=56d75bd90d78cf44cd3984ce2a45627ef5646d38;hpb=271c83d4fd9411be628fa650ce595ac79754d22e diff --git a/score.c b/score.c index bc40668f..81b3ded0 100644 --- a/score.c +++ b/score.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 Andre Noll + * Copyright (C) 2007 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -38,8 +38,8 @@ static int ptr_compare(const struct osl_object *obj1, const struct osl_object *o */ static int score_compare(const struct osl_object *obj1, const struct osl_object *obj2) { - int d1 = *(int*)obj1->data; - int d2 = *(int*)obj2->data; + long d1 = *(long *)obj1->data; + long d2 = *(long *)obj2->data; int ret = NUM_COMPARE(d2, d1); if (ret) @@ -71,7 +71,7 @@ static struct osl_column_description score_cols[] = { }, [SCORECOL_SCORE] = { .storage_type = OSL_NO_STORAGE, - .storage_flags = OSL_RBTREE | OSL_FIXED_SIZE, + .storage_flags = OSL_RBTREE | OSL_FIXED_SIZE | OSL_UNIQUE, .name = "score", .compare_function = score_compare, .data_size = sizeof(long) @@ -141,7 +141,7 @@ int score_add(const struct osl_row *aft_row, long score) size = score_table_desc.column_descriptions[SCORECOL_SCORE].data_size; score_objs[SCORECOL_SCORE].data = para_malloc(size); score_objs[SCORECOL_SCORE].size = size; - *(int *)(score_objs[SCORECOL_SCORE].data) = score; + *(long *)(score_objs[SCORECOL_SCORE].data) = score; // PARA_DEBUG_LOG("adding %p\n", *(void **) (score_objs[SCORECOL_AFT_ROW].data)); ret = osl(osl_add_row(score_table, score_objs)); @@ -168,13 +168,11 @@ static int get_nth_score(unsigned n, long *score) * \param aft_row Determines the audio file to change. * \param percent The position to re-insert the audio file. * - * The percent parameter must be between \p 0 and 100 and. A value of zero - * means to re-insert the audio file into the score table with a score lower - * than any other admissible file. + * The percent parameter must be between 0 and 100. A value of zero means to + * re-insert the audio file into the score table with a score lower than any + * other admissible file. * - * \return Positive on success, negative on errors. Possible errors: Errors - * returned by osl_get_row(), get_num_admissible_files(), osl_get_nth_row(), - * osl_get_object(), osl_update_object(). + * \return Positive on success, negative on errors. */ int score_update(const struct osl_row *aft_row, long percent) { @@ -247,29 +245,12 @@ static int get_score_row_from_aft_row(const struct osl_row *aft_row, * * This is used for the ls command. The \a data parameter is passed as the * second argument to \a func. - * - * \sa admissible_file_loop_reverse(). */ int admissible_file_loop(void *data, osl_rbtree_loop_func *func) { return osl(osl_rbtree_loop(score_table, SCORECOL_SCORE, data, func)); } -/** - * Loop over all files in the score table in reverse order. - * - * \param data As in admissible_file_loop(). - * \param func As in admissible_file_loop(). - * - * \return Same return value as admissible_file_loop(). - * - * \sa admissible_file_loop(), osl_rbtree_loop_reverse(). - */ -int admissible_file_loop_reverse(void *data, osl_rbtree_loop_func *func) -{ - return osl(osl_rbtree_loop_reverse(score_table, SCORECOL_SCORE, data, func)); -} - /** * Get the admissible audio file with highest score. *