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.