On 3/14/11 5:00 AM, Roman Rakus wrote: > $ locale > LANG=en_US.UTF-8 > LC_CTYPE="en_US.UTF-8" > LC_NUMERIC="en_US.UTF-8" > LC_TIME="en_US.UTF-8" > LC_COLLATE="en_US.UTF-8" > LC_MONETARY="en_US.UTF-8" > LC_MESSAGES="en_US.UTF-8" > LC_PAPER="en_US.UTF-8" > LC_NAME="en_US.UTF-8" > LC_ADDRESS="en_US.UTF-8" > LC_TELEPHONE="en_US.UTF-8" > LC_MEASUREMENT="en_US.UTF-8" > LC_IDENTIFICATION="en_US.UTF-8" > LC_ALL= > > $ echo $BASH_VERSION > 4.2.7(1)-release > > $ [$'\xFD'$'\xBA'] > ^C > > The bash 4.2 is in infinite loop. The bash 4.1 work well.
Here's a minimal patch. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/
*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400 --- lib/glob/xmbsrtowcs.c 2011-03-14 14:22:11.000000000 -0400 *************** *** 174,180 **** wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state); /* Conversion failed. */ ! if (wcslength == (size_t)-1) { free (wsbuf); *destp = NULL; --- 174,180 ---- wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state); /* Conversion failed. */ ! if (wcslength == 0 || wcslength == (size_t)-1) { free (wsbuf); *destp = NULL;