]>
Commit | Line | Data |
---|---|---|
888cf725 | 1 | BASH PATCH REPORT |
2 | ================= | |
3 | ||
4 | Bash-Release: 2.05b | |
5 | Patch-ID: bash205b-007 | |
6 | ||
7 | Bug-Reported-by: dman@dman.ddts.net | |
8 | Bug-Reference-ID: <15893.26358.129589.503364@gargle.gargle.HOWL> | |
9 | Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=175127 | |
10 | ||
11 | Bug-Description: | |
12 | ||
13 | Using the vi editing mode's case-changing commands in a locale with | |
14 | multibyte characters will cause garbage characters to be inserted into | |
15 | the editing buffer. | |
16 | ||
17 | Patch: | |
18 | ||
19 | *** ../bash-2.05b/lib/readline/vi_mode.c Thu May 23 13:27:58 2002 | |
20 | --- lib/readline/vi_mode.c Tue Feb 4 15:11:07 2003 | |
21 | *************** | |
22 | *** 681,685 **** | |
23 | { | |
24 | wchar_t wc; | |
25 | ! char mb[MB_LEN_MAX]; | |
26 | mbstate_t ps; | |
27 | ||
28 | --- 681,686 ---- | |
29 | { | |
30 | wchar_t wc; | |
31 | ! char mb[MB_LEN_MAX+1]; | |
32 | ! int mblen; | |
33 | mbstate_t ps; | |
34 | ||
35 | *************** | |
36 | *** 704,708 **** | |
37 | if (wc) | |
38 | { | |
39 | ! wctomb (mb, wc); | |
40 | rl_begin_undo_group (); | |
41 | rl_delete (1, 0); | |
42 | --- 705,711 ---- | |
43 | if (wc) | |
44 | { | |
45 | ! mblen = wctomb (mb, wc); | |
46 | ! if (mblen >= 0) | |
47 | ! mb[mblen] = '\0'; | |
48 | rl_begin_undo_group (); | |
49 | rl_delete (1, 0); |