1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- READLINE PATCH REPORT
- =====================
- Readline-Release: 5.2
- Patch-ID: readline52-007
- Bug-Reported-by: Tom Bjorkholm <tom.bjorkholm@ericsson.com>
- Bug-Reference-ID: <AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se>
- Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html
- Bug-Description:
- An off-by-one error in readline's input buffering caused readline to drop
- each 511th character of buffered input (e.g., when pasting a large amount
- of data into a terminal window).
- Patch:
- *** ../readline-5.2/input.c Wed Aug 16 15:15:16 2006
- --- ./input.c Tue Jul 17 09:24:21 2007
- ***************
- *** 134,139 ****
-
- *key = ibuffer[pop_index++];
- !
- if (pop_index >= ibuffer_len)
- pop_index = 0;
-
- --- 134,142 ----
-
- *key = ibuffer[pop_index++];
- ! #if 0
- if (pop_index >= ibuffer_len)
- + #else
- + if (pop_index > ibuffer_len)
- + #endif
- pop_index = 0;
-
- ***************
- *** 251,255 ****
- {
- k = (*rl_getc_function) (rl_instream);
- ! rl_stuff_char (k);
- if (k == NEWLINE || k == RETURN)
- break;
- --- 254,259 ----
- {
- k = (*rl_getc_function) (rl_instream);
- ! if (rl_stuff_char (k) == 0)
- ! break; /* some problem; no more room */
- if (k == NEWLINE || k == RETURN)
- break;
- ***************
- *** 374,378 ****
- --- 378,386 ----
- }
- ibuffer[push_index++] = key;
- + #if 0
- if (push_index >= ibuffer_len)
- + #else
- + if (push_index > ibuffer_len)
- + #endif
- push_index = 0;
-
|