1*4882a593Smuzhiyundiff -upr a/fb_display.c b/fb_display.c 2*4882a593Smuzhiyun--- a/fb_display.c 2007-06-01 16:52:45.000000000 +0200 3*4882a593Smuzhiyun+++ b/fb_display.c 2007-06-01 16:51:43.000000000 +0200 4*4882a593Smuzhiyun@@ -307,7 +307,7 @@ void* convertRGB2FB(int fh, unsigned cha 5*4882a593Smuzhiyun { 6*4882a593Smuzhiyun unsigned long i; 7*4882a593Smuzhiyun void *fbbuff = NULL; 8*4882a593Smuzhiyun- u_int8_t *c_fbbuff; 9*4882a593Smuzhiyun+ u_int8_t *c_fbbuff; 10*4882a593Smuzhiyun u_int16_t *s_fbbuff; 11*4882a593Smuzhiyun u_int32_t *i_fbbuff; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun@@ -335,6 +335,16 @@ void* convertRGB2FB(int fh, unsigned cha 14*4882a593Smuzhiyun fbbuff = (void *) s_fbbuff; 15*4882a593Smuzhiyun break; 16*4882a593Smuzhiyun case 24: 17*4882a593Smuzhiyun+ *cpp = 3; 18*4882a593Smuzhiyun+ c_fbbuff = (unsigned char *) malloc(count * 3 * sizeof(unsigned char)); 19*4882a593Smuzhiyun+ for(i = 0; i < (3 * count); i += 3) { 20*4882a593Smuzhiyun+ /* Big endian framebuffer. */ 21*4882a593Smuzhiyun+ c_fbbuff[i] = rgbbuff[i+2]; 22*4882a593Smuzhiyun+ c_fbbuff[i+1] = rgbbuff[i+1]; 23*4882a593Smuzhiyun+ c_fbbuff[i+2] = rgbbuff[i]; 24*4882a593Smuzhiyun+ } 25*4882a593Smuzhiyun+ fbbuff = (void *) c_fbbuff; 26*4882a593Smuzhiyun+ break; 27*4882a593Smuzhiyun case 32: 28*4882a593Smuzhiyun *cpp = 4; 29*4882a593Smuzhiyun i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int)); 30*4882a593SmuzhiyunOnly in build_avr32/fbv-1.0b-modified: .fb_display.c.swp 31*4882a593SmuzhiyunBinary files build_avr32/fbv-1.0b/fb_display.o and build_avr32/fbv-1.0b-modified/fb_display.o differ 32*4882a593SmuzhiyunBinary files build_avr32/fbv-1.0b/fbv and build_avr32/fbv-1.0b-modified/fbv differ 33