summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/lcd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index fa71617fbf..c394bfab0d 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -471,6 +471,18 @@ void lcd_setmargins(int x, int y)
471 */ 471 */
472void lcd_puts(int x, int y, char *str) 472void lcd_puts(int x, int y, char *str)
473{ 473{
474#ifdef SIMULATOR
475 /* We make the simulator truncate the string if it reaches the right edge,
476 as otherwise it'll wrap. The real target doesn't wrap. */
477
478 char buffer[12];
479 if((x < 11) && (strlen(str) > (11-x)) ) {
480 memcpy(str, buffer, 11-x);
481 buffer[11-x]=0;
482 str = buffer;
483 }
484#endif
485
474 lcd_putsxy( xmargin + x*fonts[font], 486 lcd_putsxy( xmargin + x*fonts[font],
475 ymargin + y*fontheight[font], 487 ymargin + y*fontheight[font],
476 str, font ); 488 str, font );