From e7501de4829c9563a447618995f289b2f120c917 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 6 May 2022 20:55:19 -0700 Subject: Fix work overflow. Also increase max workbout to 4096. --- pw.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pw.c b/pw.c index 49d7a24..5dddef3 100644 --- a/pw.c +++ b/pw.c @@ -65,6 +65,7 @@ #define maxgrep 64 #define maxtrig 100 #define snhistsize 20 +#define workmax 4096 enum status_flags { stat_dirty = 1, // display needs refresh @@ -1036,6 +1037,7 @@ int main(int argc, char **argv) for (unsigned kbd_state = kbd_cmd, kbd_prev = kbd_cmd, lasttime = ~0U, workbout = 1024, work = workbout, histpos = 0, cmdcount = UINT_MAX; + workbout = workmax, work = workbout, histpos = 0, kbd_state != kbd_exit ;) { int force = 0, nfds = 2, pollms = poll_interval; @@ -1219,7 +1221,8 @@ int main(int argc, char **argv) drawstatus(&pw); } } - work = workbout += workbout / 4; + if (workbout < workmax) + work = workbout += workbout / 4; } else { if ((pe[0].revents)) { int ch = getc(tty); @@ -1641,7 +1644,8 @@ int main(int argc, char **argv) drawstatus(&pw); } } else { - work = workbout += workbout / 4; + if (workbout < workmax) + work = workbout += workbout / 4; } } } -- cgit v1.2.3