#define arrsize(arr) (sizeof(arr)*sizeof((arr)[0])) void compress(const char * data, size_t nData, ostream & out) { // Create histogram int histogramTMP[256]; memset( histogramTMP, 0, arrsize(histogramTMP) ); for (size_t i = 0; i < nData; i++) { cout << data[i] << ' ' << (int)data[i] << endl; histogramTMP[(int)data[i]]++; } // snip } // Some gdb output that is making me go WTF? /* (gdb) break compress Breakpoint 1 at 0x804bc28: file compress.cpp, line 18. (gdb) r Starting program: /Documents/uct/CSC2001F/tut5/tut5 Breakpoint 1, compress (data=0xbf9e41f0 "The fat cat jumped over the hat", nData=32, out=@0x804e558) at compress.cpp:18 18 memset( histogramTMP, 0, arrsize(histogramTMP) ); (gdb) break 34 Breakpoint 2 at 0x804bd7c: file compress.cpp, line 34. (gdb) c Continuing. Breakpoint 2, compress (data=0x0, nData=0, out=@0x0) at compress.cpp:36 36 HuffmanNode *n = HuffmanNode::computeHuffmanTree(histogram, nHistogram); (gdb) print histogramTMP $1 = {0 } */