wok view busybox/stuff/busybox-1.25-scriptreplay.u @ rev 19340

Up busybox (1.25.0)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Jul 19 18:17:18 2016 +0200 (2016-07-19)
parents
children e2bd20184e22
line source
1 --- busybox-1.25/util-linux/scriptreplay.c
2 +++ busybox-1.25/util-linux/scriptreplay.c
3 @@ -8,6 +8,13 @@
4 *
5 */
7 +//config:config SCRIPTREPLAY_HOTKEYS
8 +//config: bool "speed control hotkeys"
9 +//config: default n
10 +//config: depends on SCRIPTREPLAY
11 +//config: help
12 +//config: Tune replay speed with +, -, =, space or return keys.
13 +
14 //usage:#define scriptreplay_trivial_usage
15 //usage: "timingfile [typescript [divisor]]"
16 //usage:#define scriptreplay_full_usage "\n\n"
17 @@ -21,6 +28,10 @@
18 const char *script = "typescript";
19 double delay, factor = 1000000.0;
20 int fd;
21 +#if ENABLE_SCRIPTREPLAY_HOTKEYS
22 + int timeout = -1;
23 + char buffer[KEYCODE_BUFFER_SIZE];
24 +#endif
25 unsigned long count;
26 FILE *tfp;
28 @@ -38,6 +49,21 @@
29 while (fscanf(tfp, "%lf %lu\n", &delay, &count) == 2) {
30 usleep(delay * factor);
31 bb_copyfd_exact_size(fd, STDOUT_FILENO, count);
32 +#if ENABLE_SCRIPTREPLAY_HOTKEYS
33 + switch (read_key(0, buffer, timeout)) {
34 + case ' ':
35 + timeout = INT_MAX;
36 + break;
37 + case '=':
38 + factor = 1000000.0/2;
39 + case '-':
40 + factor *= 4;
41 + case '+':
42 + factor /= 2;
43 + default :
44 + timeout = -1;
45 + }
46 +#endif
47 }
48 if (ENABLE_FEATURE_CLEAN_UP) {
49 close(fd);