Use unsigned char for memory pointer, to make sure pointer arithmetic in display_png() works is standards-compliant.