[or-cvs] Fix a fencepost error in the last bandwidth reporting fix

Nick Mathewson nickm at seul.org
Sun Aug 8 19:14:46 UTC 2004


Update of /home/or/cvsroot/src/or
In directory moria.mit.edu:/tmp/cvs-serv11750/src/or

Modified Files:
	rephist.c 
Log Message:
Fix a fencepost error in the last bandwidth reporting fix

Index: rephist.c
===================================================================
RCS file: /home/or/cvsroot/src/or/rephist.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- rephist.c	7 Aug 2004 09:01:04 -0000	1.22
+++ rephist.c	8 Aug 2004 19:14:44 -0000	1.23
@@ -506,13 +506,16 @@
   for (r=0;r<2;++r) {
     b = r?read_array:write_array;
     format_iso_time(t, b->next_period-NUM_SECS_BW_SUM_INTERVAL);
-    sprintf(cp, "opt %s %s (%d s)", r?"read-history ":"write-history", t,
+    sprintf(cp, "opt %s %s (%d s) ", r?"read-history ":"write-history", t,
             NUM_SECS_BW_SUM_INTERVAL);
     cp += strlen(cp);
 
-    if (b->num_maxes_set < b->next_max_idx)
+    if (b->num_maxes_set <= b->next_max_idx)
+      /* We haven't been through the circular array yet; time starts at i=0.*/
       i = 0;
     else
+      /* We've been arround the array at least once.  The next i to be
+         overwritten is the oldest. */
       i = b->next_max_idx;
 
     for (n=0; n<b->num_maxes_set; ++n,++i) {



More information about the tor-commits mailing list