From dbe51ae2941b609fb24fe5bf99ca25139ab032d7 Mon Sep 17 00:00:00 2001 From: Brian Callahan Date: Thu, 29 May 2014 15:06:16 -0400 Subject: [PATCH] This is cleaner, prevent the percent from being greater than 100. --- src/cmd/emg/display.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cmd/emg/display.c b/src/cmd/emg/display.c index dfe9c0a..40a9eac 100644 --- a/src/cmd/emg/display.c +++ b/src/cmd/emg/display.c @@ -623,6 +623,7 @@ void modeline(WINDOW *wp) int lchar; /* character to draw line in buffer with */ int n; /* cursor position count */ int len; /* line/column display check */ + int perc; /* percent down */ char sl[25]; /* line/column display (probably overkill) */ n = wp->w_toprow + wp->w_ntrows; /* Location */ @@ -675,8 +676,11 @@ void modeline(WINDOW *wp) n += 3; } - len = snprintf(sl, sizeof(sl), " %ld%% (%d,%d) ", - (long)((100*(wp->w_dotline + 1)) / curwp->w_bufp->b_lines), + perc = (100*(wp->w_dotline + 1)) / curwp->w_bufp->b_lines; + if (perc > 100) + perc = 100; + + len = snprintf(sl, sizeof(sl), " %d%% (%d,%d) ", perc, (wp->w_dotline + 1), getccol(FALSE)); if (len < sizeof(sl) && len != -1) n += vtputs(sl);