It sounds suspiciously like an int16 issue. 32K is close enough to 32767 after which a 16 bit integer goes negative when incremented. Which is odd because it should roll over, not count backwards.
perhaps they did something like this: note the use of abs on reporting. int16 votes[MAX_CANDIDATES]; void add_a_vote(uint8 candidate) { if (candidate>MAX_CANDIDATES) return; votes[candidate]++; } void report(void) { int i; for (i=0; i<MAX_CANDIDATES; i++) { printf("Candidate %s got %d votes\n",candidates[i],abs(votes[i])); } } ----------------------Kaos-Keraunos-Kybernetos--------------------------- + ^ + :"Our enemies are innovative and resourceful, and so are we. /|\ \|/ :They never stop thinking about new ways to harm our country /\|/\ <--*-->:and our people, and neither do we." -G. W. Bush, 2004.08.05 \/|\/ /|\ : \|/ + v + : War is Peace, freedom is slavery, Bush is President. ------------------------------------------------------------------------- On Sat, 6 Nov 2004, R.A. Hettinga wrote: > <http://www.palmbeachpost.com/politics/content/news/epaper/2004/11/05/a29a_BROWVOTE_1105.html> > > > Palm Beach Post > > Broward machines count backward > > By Eliot Kleinberg > > Palm Beach Post Staff Writer > > Friday, November 05, 2004 > > > FORT LAUDERDALE - It had to happen. Things were just going too smoothly. > > Early Thursday, as Broward County elections officials wrapped up after a > long day of canvassing votes, something unusual caught their eye. Tallies > should go up as more votes are counted. That's simple math. But in some > races, the numbers had gone . . . down. > > > Officials found the software used in Broward can handle only 32,000 votes > per precinct. After that, the system starts counting backward.