]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - score.c
Declare {was,is}_admissible as bools.
[paraslash.git] / score.c
diff --git a/score.c b/score.c
index 894e8ca3deae39f21552a6cd331237551e9c7a1b..0ecdf601456c6e46fe86ec22e8c2dc75474729cb 100644 (file)
--- a/score.c
+++ b/score.c
@@ -119,7 +119,7 @@ int score_add(const struct osl_row *aft_row, long score)
        score_objs[SCORECOL_AFT_ROW].size = size;
 
        size = score_table_desc.column_descriptions[SCORECOL_SCORE].data_size;
-       score_objs[SCORECOL_SCORE].data = para_malloc(size);
+       score_objs[SCORECOL_SCORE].data = alloc(size);
        score_objs[SCORECOL_SCORE].size = size;
        *(long *)(score_objs[SCORECOL_SCORE].data) = score;
 
@@ -132,16 +132,6 @@ int score_add(const struct osl_row *aft_row, long score)
        return ret;
 }
 
-static int get_nth_score(unsigned n, long *score)
-{
-       struct osl_row *row;
-       int ret = osl(osl_get_nth_row(score_table, SCORECOL_SCORE, n, &row));
-
-       if (ret < 0)
-               return ret;
-       return get_score_of_row(row, score);
-}
-
 /**
  * Replace a row of the score table.
  *
@@ -156,7 +146,7 @@ static int get_nth_score(unsigned n, long *score)
  */
 int score_update(const struct osl_row *aft_row, long percent)
 {
-       struct osl_row *row;
+       struct osl_row *row, *rrow; /* score row, reference row */
        long new_score;
        unsigned n, new_pos;
        struct osl_object obj = {.data = (struct osl_row *)aft_row,
@@ -171,12 +161,15 @@ int score_update(const struct osl_row *aft_row, long percent)
        if (ret < 0)
                return ret;
        new_pos = 1 + (n - 1) * percent / 100;
-       ret = get_nth_score(new_pos, &new_score);
+       ret = osl(osl_get_nth_row(score_table, SCORECOL_SCORE, new_pos, &rrow));
+       if (ret < 0)
+               return ret;
+       ret = get_score_of_row(rrow, &new_score);
        if (ret < 0)
                return ret;
        new_score--;
        obj.size = sizeof(long);
-       obj.data = para_malloc(obj.size);
+       obj.data = alloc(obj.size);
        *(long *)obj.data = new_score;
        PARA_DEBUG_LOG("new score: %ld, rank %u/%u\n", new_score, new_pos, n);
        return osl(osl_update_object(score_table, row, SCORECOL_SCORE, &obj));
@@ -307,7 +300,6 @@ static void score_close(void)
 
 static int score_open(__a_unused const char *dir)
 {
-       score_table_desc.dir = NULL; /* this table has only volatile columns */
        return osl(osl_open_table(&score_table_desc, &score_table));
 }
 
@@ -322,12 +314,6 @@ int clear_score_table(void)
        return score_open(NULL);
 }
 
-static int score_event_handler(__a_unused enum afs_events event,
-               __a_unused struct para_buffer *pb, __a_unused void *data)
-{
-       return 1;
-}
-
 /**
  * Initialize the scoring subsystem.
  *
@@ -338,5 +324,4 @@ void score_init(struct afs_table *t)
        t->name = score_table_desc.name;
        t->open = score_open;
        t->close = score_close;
-       t->event_handler = score_event_handler;
 }