aboutsummaryrefslogtreecommitdiffstats
path: root/pw.c
diff options
context:
space:
mode:
Diffstat (limited to 'pw.c')
-rw-r--r--pw.c8
1 files 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;
}
}
}