I noticed this when I was working with the library - display() outer loop for sending data is for (i = 0; i < 6; i++) but clear(uint8_t mode) (and clear(uint8_t mode, uint8_t c)) outer loop for sending zeros/values is for (int i = 0; i < 8; i++)
Note that display is looping through the range 0...5, but clear is looping through the range 0...7.