diff options
-rw-r--r-- | firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c | 4 | ||||
-rw-r--r-- | tools/checkwps/checkwps.c | 34 |
2 files changed, 23 insertions, 15 deletions
diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c index 2c80f89ff7..f69ad48793 100644 --- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c +++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c @@ -448,7 +448,7 @@ void lcd_update(void) lcd_write_cmd(R_WRITE_DATA_2_GRAM); - dbop_write_data((fb_data*)lcd_framebuffer, LCD_WIDTH*LCD_HEIGHT); + dbop_write_data((fb_data*)FBADDR(0,0), LCD_WIDTH*LCD_HEIGHT); } /* Update a fraction of the display. */ @@ -460,7 +460,7 @@ void lcd_update_rect(int x, int y, int width, int height) return; /* nothing to draw? */ - if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) || + if ((width <= 0) || (height <= 0) || (x >= LCD_WIDTH) || (y >= LCD_HEIGHT) || (x + width <= 0) || (y + height <= 0)) return; diff --git a/tools/checkwps/checkwps.c b/tools/checkwps/checkwps.c index a0e0e15962..932dc3884c 100644 --- a/tools/checkwps/checkwps.c +++ b/tools/checkwps/checkwps.c @@ -1,10 +1,10 @@ /*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2008 by Dave Chapman @@ -167,9 +167,9 @@ int remote_getwidth(void) { return LCD_REMOTE_WIDTH; } int remote_getheight(void) { return LCD_REMOTE_HEIGHT; } #endif -static inline bool backdrop_load(const char *filename, char* backdrop_buffer) -{ - (void)filename; (void)backdrop_buffer; return true; +static inline bool backdrop_load(const char *filename, char* backdrop_buffer) +{ + (void)filename; (void)backdrop_buffer; return true; } struct screen screens[NB_SCREENS] = @@ -253,6 +253,7 @@ struct font* font_get(int font) int main(int argc, char **argv) { + int ret = 0; int res; int filearg = 1; @@ -302,7 +303,8 @@ int main(int argc, char **argv) if (!ext) { printf("Invalid extension\n"); - return 2; + ret = 2; + goto done; } ext++; if (!strcmp(ext, "rwps") || !strcmp(ext, "rsbs") || !strcmp(ext, "rfms")) @@ -321,7 +323,8 @@ int main(int argc, char **argv) else { printf("Invalid extension\n"); - return 2; + ret = 2; + goto done; } wps_screen = &screens[screen]; @@ -330,12 +333,17 @@ int main(int argc, char **argv) if (!res) { printf("WPS parsing failure\n"); skin_error_format_message(); - return 3; + ret = 3; + goto done; } printf("WPS parsed OK\n\n"); if (wps_verbose_level>2) skin_debug_tree(SKINOFFSETTOPTR(skin_buffer, wps.tree)); } - return 0; + +done: + if (skin_buffer) + free(skin_buffer); + return ret; } |