To:
[email protected]
Subject: Patch 6.3b.002
Fcc: outbox
From: Bram Moolenaar <
[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 6.3b.002
Problem: Win32: conversion during file write fails when a double-byte
character is split over two writes.
Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka)
Files: src/fileio.c
*** ../vim-6.3b.001/src/fileio.c Sun May 16 22:38:42 2004
--- src/fileio.c Fri May 21 13:36:11 2004
***************
*** 4685,4693 ****
if (needed == 0)
{
/* When conversion fails there may be a trailing byte. */
- ip->bw_restlen = 1;
needed = MultiByteToWideChar(enc_codepage,
! MB_ERR_INVALID_CHARS, (LPCSTR)from, fromlen,
NULL, 0);
if (needed == 0)
{
--- 4685,4692 ----
if (needed == 0)
{
/* When conversion fails there may be a trailing byte. */
needed = MultiByteToWideChar(enc_codepage,
! MB_ERR_INVALID_CHARS, (LPCSTR)from, fromlen - 1,
NULL, 0);
if (needed == 0)
{
***************
*** 4696,4702 ****
return FAIL;
}
/* Save the trailing byte for the next call. */
! *ip->bw_rest = from[fromlen - 1];
}
needed = MultiByteToWideChar(enc_codepage, MB_ERR_INVALID_CHARS,
(LPCSTR)from, fromlen - ip->bw_restlen,
--- 4695,4702 ----
return FAIL;
}
/* Save the trailing byte for the next call. */
! ip->bw_rest[0] = from[fromlen - 1];
! ip->bw_restlen = 1;
}
needed = MultiByteToWideChar(enc_codepage, MB_ERR_INVALID_CHARS,
(LPCSTR)from, fromlen - ip->bw_restlen,
*** ../vim-6.3b.001/src/version.c Tue May 18 14:01:09 2004
--- src/version.c Fri May 21 13:38:55 2004
***************
*** 643,644 ****
--- 643,646 ----
{ /* Add new patch number below this line */
+ /**/
+ 2,
/**/
--
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
/// Bram Moolenaar --
[email protected] --
http://www.Moolenaar.net \\\
/// Sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ \\\
\\\ Project leader for A-A-P --
http://www.A-A-P.org ///
\\\ Buy at Amazon and help AIDS victims --
http://ICCF.nl/click1.html ///