Commit Graph

5 Commits

Author SHA1 Message Date
Chris Bracken
9f8fe3f04c
[Windows] Fix signed/unsigned int comparison (#142341)
Previously, we were comparing the signed int `target_length` (returned by WideCharToMultiByte) to a size_t string length, resulting in a signed/unsigned comparison warning as follows:

```
windows\runner\utils.cpp(54,43): warning C4018:  '>': signed/unsigned mismatch
```

WideCharToMultiByte returns:
* 0 on error
* the number of bytes written to the buffer pointed to by its fifth parameter, lpMultiByteStr, on success.

As a result it's safe to store the return value in an unsigned int, which eliminates the warning.

No changes to tests since this is dependent on end-user project settings/modifications and does not trigger a warning with default project settings.

Fixes: https://github.com/flutter/flutter/issues/134227
2024-02-07 00:09:57 +00:00
Tomasz Gucio
98576cef58
Avoid null terminating characters in strings from Utf8FromUtf16() (#109729)
---------
Co-authored-by: schectman <schectman@google.com>
2023-02-13 19:22:37 +01:00
stuartmorgan
6c6ae06381
Add Windows to the platform_channels example (#106754) 2022-06-30 14:54:07 +00:00
Chris Bracken
b5d3c43280
Check string size before Win32 MultiByte <-> WideChar conversions (#99729)
This patch adds an additional check to ensure the target length of a string is within the supported maximum string length prior to calling WideCharToMultiByte/MultiByteToWideChar in the Windows runner template.

This is to prevent resize() from failing if called with a count > std::string::max_size().

According to Win32 API docs (WideCharToMultiByte, MultiByteToWideChar) it's the caller responsibility to make sure the buffers are correctly allocated.

Authored by: Tomasz Gucio <tgucio@gmail.com>
2022-03-07 19:57:36 -08:00
Chris Bracken
f9f5243e0a
Add Windows desktop files for manual tests (#77228)
This adds support for building and running manual tests, such as the raw
keyboard test on Windows desktop.
2021-03-04 19:02:46 -08:00