Make channel_flush_some_cells() compile cleanly on machines with ssize_t larger than int per sjumrdoch comment

This commit is contained in:
Andrea Shepard
2012-10-10 00:19:57 -07:00
parent bec776480d
commit 217352c362
+13 -5
View File
@@ -2018,7 +2018,7 @@ channel_flush_some_cells(channel_t *chan, ssize_t num_cells)
{
unsigned int unlimited = 0;
ssize_t flushed = 0;
int num_cells_from_circs;
int num_cells_from_circs, clamped_num_cells;
tor_assert(chan);
@@ -2033,12 +2033,20 @@ channel_flush_some_cells(channel_t *chan, ssize_t num_cells)
if (!unlimited && num_cells <= flushed) goto done;
if (circuitmux_num_cells(chan->cmux) > 0) {
/* Calculate number of cells, including clamp */
if (unlimited) {
clamped_num_cells = MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED;
} else {
if (num_cells - flushed >
MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED) {
clamped_num_cells = MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED;
} else {
clamped_num_cells = (int)(num_cells - flushed);
}
}
/* Try to get more cells from any active circuits */
num_cells_from_circs = channel_flush_from_first_active_circuit(
chan,
(unlimited ?
MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED :
(num_cells - flushed)));
chan, clamped_num_cells);
/* If it claims we got some, process the queue again */
if (num_cells_from_circs > 0) {