aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--more.c12
-rw-r--r--util-linux/more.c12
2 files changed, 14 insertions, 10 deletions
diff --git a/more.c b/more.c
index 8ae2661ab..9f07633c3 100644
--- a/more.c
+++ b/more.c
@@ -184,12 +184,14 @@ extern int more_main(int argc, char **argv)
184 /* Adjust the terminal height for any overlap, so that 184 /* Adjust the terminal height for any overlap, so that
185 * no lines get lost off the top. */ 185 * no lines get lost off the top. */
186 if (len >= terminal_width) { 186 if (len >= terminal_width) {
187 div_t result = div( len, terminal_width); 187 int quot, rem;
188 if (result.quot) { 188 quot = len / terminal_width;
189 if (result.rem) 189 rem = len - (quot * terminal_width);
190 page_height-=result.quot; 190 if (quot) {
191 if (rem)
192 page_height-=quot;
191 else 193 else
192 page_height-=(result.quot-1); 194 page_height-=(quot-1);
193 } 195 }
194 } 196 }
195 if (++lines >= page_height) { 197 if (++lines >= page_height) {
diff --git a/util-linux/more.c b/util-linux/more.c
index 8ae2661ab..9f07633c3 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -184,12 +184,14 @@ extern int more_main(int argc, char **argv)
184 /* Adjust the terminal height for any overlap, so that 184 /* Adjust the terminal height for any overlap, so that
185 * no lines get lost off the top. */ 185 * no lines get lost off the top. */
186 if (len >= terminal_width) { 186 if (len >= terminal_width) {
187 div_t result = div( len, terminal_width); 187 int quot, rem;
188 if (result.quot) { 188 quot = len / terminal_width;
189 if (result.rem) 189 rem = len - (quot * terminal_width);
190 page_height-=result.quot; 190 if (quot) {
191 if (rem)
192 page_height-=quot;
191 else 193 else
192 page_height-=(result.quot-1); 194 page_height-=(quot-1);
193 } 195 }
194 } 196 }
195 if (++lines >= page_height) { 197 if (++lines >= page_height) {