[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Patch] Replace deprecated WSAStringToAddressA


Hi,

This is not the preferred way of doing things and will only work if you're 
American because you only need character codes in the ASCII range 32-126. I 
have a number of comments regarding this post.

1) If the libssh.org API expects C-strings as inputs to its functions, please 
keep it that way. It's one thing to remove an API or make it obsolete, it's 
far worse to change the meaning of buffers from an ANSI (multibyte utf-8) to 
UTF16. Which is why I think the comment from Aris is correct.

2) The sample below is wrong. See [1] on how to do this properly. You have to 
convert from utf8 to utf16 to use a W function.

[1] https://msdn.microsoft.com/en-us/library/ms235631.aspx

Regards,
Jason.

-----Original Message-----
From: Chris Ruehl [mailto:chris.ruehl@xxxxxxxxxxxx]
Sent: Wednesday, 7 June 2017 08:41
To: libssh@xxxxxxxxxx
Subject: Re: [Patch] Replace deprecated WSAStringToAddressA



On Wednesday, June 07, 2017 02:32 PM, Chris Ruehl wrote:
> On Wednesday, June 07, 2017 02:09 PM, Aris Adamantiadis wrote:
>> On 7/06/17 07:40, Chris Ruehl wrote:
>>> -    rc = WSAStringToAddressA((LPSTR) str,
>>> +    rc = WSAStringToAddressW((LPWSTR) str,
>>
>> Hi Chris,
>>
>>
>> Does the cast from char * to LPWSTR really work that way? I'm not
>> very well experienced in Windows programming but if I recall properly
>> you're supposed to convert the C string into a unicode wide string
>> before using the -W family functions. Am I mistaken?
>>
>>
>> Thanks,
>>
>>
>> Aris
>>
>>
>>
>
> I'd linked it with my application where I use the pure IP-address to
> connect to a host. Verified its works well. I used QTCreator which
> shows the parameter list so I used it for the cast.
>
> I don't want to open the box and change all to wchar_t :o)
>
> Chris
>
>

size_t size = strlen(str);
wchar_t* wArr = new wchar_t[size];
for (size_t i = 0; i < size; ++i)
     wArr[i] = str[i];

and using wArr for str in the function without a cast

Chris

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Follow-Ups:
Re: [Patch] Replace deprecated WSAStringToAddressAChris Ruehl <chris.ruehl@xxxxxxxxxxxx>
References:
[Patch] Replace deprecated WSAStringToAddressAChris Ruehl <chris.ruehl@xxxxxxxxxxxx>
Re: [Patch] Replace deprecated WSAStringToAddressAAris Adamantiadis <aris@xxxxxxxxxxxx>
Re: [Patch] Replace deprecated WSAStringToAddressAChris Ruehl <chris.ruehl@xxxxxxxxxxxx>
Re: [Patch] Replace deprecated WSAStringToAddressAChris Ruehl <chris.ruehl@xxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org