]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/readline/readline52-007
readline: Update to 6.2.
[ipfire-2.x.git] / src / patches / readline / readline52-007
1 READLINE PATCH REPORT
2 =====================
3
4 Readline-Release: 5.2
5 Patch-ID: readline52-007
6
7 Bug-Reported-by: Tom Bjorkholm <tom.bjorkholm@ericsson.com>
8 Bug-Reference-ID: <AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se>
9 Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html
10
11
12 Bug-Description:
13
14 An off-by-one error in readline's input buffering caused readline to drop
15 each 511th character of buffered input (e.g., when pasting a large amount
16 of data into a terminal window).
17
18 Patch:
19
20 *** ../readline-5.2/input.c Wed Aug 16 15:15:16 2006
21 --- input.c Tue Jul 17 09:24:21 2007
22 ***************
23 *** 134,139 ****
24
25 *key = ibuffer[pop_index++];
26 !
27 if (pop_index >= ibuffer_len)
28 pop_index = 0;
29
30 --- 134,142 ----
31
32 *key = ibuffer[pop_index++];
33 ! #if 0
34 if (pop_index >= ibuffer_len)
35 + #else
36 + if (pop_index > ibuffer_len)
37 + #endif
38 pop_index = 0;
39
40 ***************
41 *** 251,255 ****
42 {
43 k = (*rl_getc_function) (rl_instream);
44 ! rl_stuff_char (k);
45 if (k == NEWLINE || k == RETURN)
46 break;
47 --- 254,259 ----
48 {
49 k = (*rl_getc_function) (rl_instream);
50 ! if (rl_stuff_char (k) == 0)
51 ! break; /* some problem; no more room */
52 if (k == NEWLINE || k == RETURN)
53 break;
54 ***************
55 *** 374,378 ****
56 --- 378,386 ----
57 }
58 ibuffer[push_index++] = key;
59 + #if 0
60 if (push_index >= ibuffer_len)
61 + #else
62 + if (push_index > ibuffer_len)
63 + #endif
64 push_index = 0;
65