diff options
-rw-r--r-- | more.c | 12 | ||||
-rw-r--r-- | util-linux/more.c | 12 |
2 files changed, 14 insertions, 10 deletions
@@ -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) { |