[PATCH] _bfd_real_fopen should not use ccs parameter on Windows
Yvan Roux
yvan.roux@foss.st.com
Tue May 17 14:33:40 GMT 2022
Ping
On Tue, May 03, 2022 at 02:39:59PM +0200, Yvan Roux via Binutils wrote:
> Hi,
>
> As it was discussed in https://sourceware.org/bugzilla/show_bug.cgi?id=25713
> according to MSDN, the ccs=UNICODE should only be used when the encoding of the
> file stream is supposed to be UTF-8 or UTF-16LE, and is not related to the
> encoding of the file name.
>
> Regression tested without any issue.
>
> Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@st.com>
> Signed-off-by: Yvan ROUX <yvan.roux@foss.st.com>
> ---
> bfd/bfdio.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/bfd/bfdio.c b/bfd/bfdio.c
> index 5c9a6555894..dc8d3916509 100644
> --- a/bfd/bfdio.c
> +++ b/bfd/bfdio.c
> @@ -119,7 +119,6 @@ _bfd_real_fopen (const char *filename, const char *modes)
> /* PR 25713: Handle extra long path names possibly containing '..' and '.'. */
> wchar_t ** lpFilePart = {NULL};
> const wchar_t prefix[] = L"\\\\?\\";
> - const wchar_t ccs[] = L", ccs=UNICODE";
> const size_t partPathLen = strlen (filename) + 1;
>
> /* Converting the partial path from ascii to unicode.
> @@ -151,10 +150,9 @@ _bfd_real_fopen (const char *filename, const char *modes)
> free (partPath);
>
> /* It is non-standard for modes to exceed 16 characters. */
> - wchar_t modesW[16 + sizeof(ccs)];
> + wchar_t modesW[16];
>
> MultiByteToWideChar (CP_UTF8, 0, modes, -1, modesW, sizeof(modesW));
> - wcscat (modesW, ccs);
>
> FILE * file = _wfopen (fullPath, modesW);
> free (fullPath);
> --
> 2.17.1
>
>
>
--
Y.
More information about the Binutils
mailing list