summaryrefslogtreecommitdiff
path: root/apps/plugins/text_viewer/tv_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/text_viewer/tv_pager.c')
-rw-r--r--apps/plugins/text_viewer/tv_pager.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/apps/plugins/text_viewer/tv_pager.c b/apps/plugins/text_viewer/tv_pager.c
index d98fe4627d..0c109530f8 100644
--- a/apps/plugins/text_viewer/tv_pager.c
+++ b/apps/plugins/text_viewer/tv_pager.c
@@ -32,9 +32,7 @@
32#define TV_MAX_PAGE 9999 32#define TV_MAX_PAGE 9999
33#endif 33#endif
34 34
35#define TV_PAGER_MEMSIZE (4 * TV_MAX_PAGE) 35static unsigned char pager_buffer[4 * TV_MAX_PAGE];
36
37static unsigned char *pager_buffer;
38 36
39static struct tv_screen_pos cur_pos; 37static struct tv_screen_pos cur_pos;
40 38
@@ -87,12 +85,8 @@ static void tv_change_preferences(const struct tv_preferences *oldp)
87 tv_seek(0, SEEK_SET); 85 tv_seek(0, SEEK_SET);
88} 86}
89 87
90bool tv_init_pager(unsigned char *buf, size_t bufsize, size_t *used_size) 88bool tv_init_pager(void)
91{ 89{
92 if (bufsize < TV_PAGER_MEMSIZE)
93 return false;
94
95 pager_buffer = buf;
96 tv_set_screen_pos(&cur_pos); 90 tv_set_screen_pos(&cur_pos);
97 tv_add_preferences_change_listner(tv_change_preferences); 91 tv_add_preferences_change_listner(tv_change_preferences);
98 92
@@ -101,14 +95,7 @@ bool tv_init_pager(unsigned char *buf, size_t bufsize, size_t *used_size)
101 95
102 line_pos[0] = 0; 96 line_pos[0] = 0;
103 97
104 buf += TV_PAGER_MEMSIZE; 98 return tv_init_reader();
105 bufsize -= TV_PAGER_MEMSIZE;
106 if (!tv_init_reader(buf, bufsize, used_size))
107 return false;
108
109 *used_size += TV_PAGER_MEMSIZE;
110
111 return true;
112} 99}
113 100
114void tv_finalize_pager(void) 101void tv_finalize_pager(void)