Bash-4.2 patch 44

This commit is contained in:
Chet Ramey 2013-03-07 15:21:45 -05:00
commit 4fd1af445d
2 changed files with 14 additions and 2 deletions

View file

@ -216,12 +216,24 @@ xdupmbstowcs2 (destp, src)
It may set 'p' to NULL. */
n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
if (n == 0 && p == 0)
{
wsbuf[wcnum] = L'\0';
break;
}
/* Compensate for taking single byte on wcs conversion failure above. */
if (wcslength == 1 && (n == 0 || n == (size_t)-1))
{
state = tmp_state;
p = tmp_p;
wsbuf[wcnum++] = *p++;
wsbuf[wcnum] = *p;
if (*p == 0)
break;
else
{
wcnum++; p++;
}
}
else
wcnum += wcslength;