diff options
-rw-r--r-- | src/or/control.c | 31 | ||||
-rw-r--r-- | src/or/control.h | 4 | ||||
-rw-r--r-- | src/test/test_controller_events.c | 20 |
3 files changed, 30 insertions, 25 deletions
diff --git a/src/or/control.c b/src/or/control.c index 616fec4e3..73769733c 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -4048,13 +4048,14 @@ sum_up_cell_stats_by_command(circuit_t *circ, cell_stats_t *cell_stats) * key:value pairs with lower-case command strings as keys and cell * numbers or total waiting times as values. A key:value pair is included * if the entry in <code>include_if_non_zero</code> is not zero, but with - * the (possibly zero) entry from <code>number_to_include</code>. If no + * the (possibly zero) entry from <code>number_to_include</code>. Both + * arrays are expected to have a length of CELL_COMMAND_MAX_ + 1. If no * entry in <code>include_if_non_zero</code> is positive, no string will * be added to <code>event_parts</code>. */ void append_cell_stats_by_command(smartlist_t *event_parts, const char *key, - uint64_t *include_if_non_zero, - uint64_t *number_to_include) + const uint64_t *include_if_non_zero, + const uint64_t *number_to_include) { smartlist_t *key_value_strings = smartlist_new(); int i; @@ -4092,14 +4093,14 @@ format_cell_stats(char **event_string, circuit_t *circ, smartlist_add_asprintf(event_parts, "InboundConn="U64_FORMAT, U64_PRINTF_ARG(or_circ->p_chan->global_identifier)); append_cell_stats_by_command(event_parts, "InboundAdded", - cell_stats->added_cells_appward, - cell_stats->added_cells_appward); + (const uint64_t *) cell_stats->added_cells_appward, + (const uint64_t *) cell_stats->added_cells_appward); append_cell_stats_by_command(event_parts, "InboundRemoved", - cell_stats->removed_cells_appward, - cell_stats->removed_cells_appward); + (const uint64_t *) cell_stats->removed_cells_appward, + (const uint64_t *) cell_stats->removed_cells_appward); append_cell_stats_by_command(event_parts, "InboundTime", - cell_stats->removed_cells_appward, - cell_stats->total_time_appward); + (const uint64_t *) cell_stats->removed_cells_appward, + (const uint64_t *) cell_stats->total_time_appward); } if (circ->n_chan) { smartlist_add_asprintf(event_parts, "OutboundQueue=%lu", @@ -4107,14 +4108,14 @@ format_cell_stats(char **event_string, circuit_t *circ, smartlist_add_asprintf(event_parts, "OutboundConn="U64_FORMAT, U64_PRINTF_ARG(circ->n_chan->global_identifier)); append_cell_stats_by_command(event_parts, "OutboundAdded", - cell_stats->added_cells_exitward, - cell_stats->added_cells_exitward); + (const uint64_t *) cell_stats->added_cells_exitward, + (const uint64_t *) cell_stats->added_cells_exitward); append_cell_stats_by_command(event_parts, "OutboundRemoved", - cell_stats->removed_cells_exitward, - cell_stats->removed_cells_exitward); + (const uint64_t *) cell_stats->removed_cells_exitward, + (const uint64_t *) cell_stats->removed_cells_exitward); append_cell_stats_by_command(event_parts, "OutboundTime", - cell_stats->removed_cells_exitward, - cell_stats->total_time_exitward); + (const uint64_t *) cell_stats->removed_cells_exitward, + (const uint64_t *) cell_stats->total_time_exitward); } *event_string = smartlist_join_strings(event_parts, " ", 0, NULL); SMARTLIST_FOREACH(event_parts, char *, cp, tor_free(cp)); diff --git a/src/or/control.h b/src/or/control.h index 1773a8737..1921d9704 100644 --- a/src/or/control.h +++ b/src/or/control.h @@ -120,8 +120,8 @@ void sum_up_cell_stats_by_command(circuit_t *circ, cell_stats_t *cell_stats); void append_cell_stats_by_command(smartlist_t *event_parts, const char *key, - uint64_t *include_if_non_zero, - uint64_t *number_to_include); + const uint64_t *include_if_non_zero, + const uint64_t *number_to_include); void format_cell_stats(char **event_string, circuit_t *circ, cell_stats_t *cell_stats); #endif diff --git a/src/test/test_controller_events.c b/src/test/test_controller_events.c index a0e2c6e4b..0b5434cd3 100644 --- a/src/test/test_controller_events.c +++ b/src/test/test_controller_events.c @@ -158,28 +158,32 @@ test_cntev_append_cell_stats(void *arg) (CELL_COMMAND_MAX_ + 1) * sizeof(uint64_t)); /* All array entries empty. */ - append_cell_stats_by_command(event_parts, key, include_if_non_zero, - number_to_include); + append_cell_stats_by_command(event_parts, key, + (const uint64_t *) include_if_non_zero, + (const uint64_t *) number_to_include); tt_int_op(0, ==, smartlist_len(event_parts)); /* There's a RELAY cell to include, but the corresponding field in * include_if_non_zero is still zero. */ number_to_include[CELL_RELAY] = 1; - append_cell_stats_by_command(event_parts, key, include_if_non_zero, - number_to_include); + append_cell_stats_by_command(event_parts, key, + (const uint64_t *) include_if_non_zero, + (const uint64_t *) number_to_include); tt_int_op(0, ==, smartlist_len(event_parts)); /* Now include single RELAY cell. */ include_if_non_zero[CELL_RELAY] = 2; - append_cell_stats_by_command(event_parts, key, include_if_non_zero, - number_to_include); + append_cell_stats_by_command(event_parts, key, + (const uint64_t *) include_if_non_zero, + (const uint64_t *) number_to_include); tt_str_op("Z=relay:1", ==, smartlist_pop_last(event_parts)); /* Add four CREATE cells. */ include_if_non_zero[CELL_CREATE] = 3; number_to_include[CELL_CREATE] = 4; - append_cell_stats_by_command(event_parts, key, include_if_non_zero, - number_to_include); + append_cell_stats_by_command(event_parts, key, + (const uint64_t *) include_if_non_zero, + (const uint64_t *) number_to_include); tt_str_op("Z=create:4,relay:1", ==, smartlist_pop_last(event_parts)); done: |