diff -r b18b06c17a80 -r d857032c6201 thermferm/lcd-buffer.c --- a/thermferm/lcd-buffer.c Tue Aug 12 21:26:26 2014 +0200 +++ b/thermferm/lcd-buffer.c Wed Aug 13 14:10:57 2014 +0200 @@ -95,6 +95,7 @@ current_offset = current_offset + Config.lcd_rows; else current_offset = 0; + syslog(LOG_NOTICE, "lcd_buf_step(KEY_DOWN) current_lines=%d current_offset=%d", current_lines, current_offset); lcd_buf_show(); } if (key == KEY_UP) { @@ -102,6 +103,7 @@ current_offset = current_offset - Config.lcd_rows; else current_offset = (current_lines - Config.lcd_rows); + syslog(LOG_NOTICE, "lcd_buf_step(KEY_UP) current_lines=%d current_offset=%d", current_lines, current_offset); lcd_buf_show(); } } @@ -122,6 +124,11 @@ i++; } + if (tmp == NULL) { + syslog(LOG_NOTICE, "lcd_buf_show: search after last record, current_offset=%d current_lines=%d i=%d", current_offset, current_lines, i); + return; + } + lcdPosition(lcdHandle, 0, r); lcdPuts(lcdHandle, tmp->row);