Files
Nim/tests/stdlib
Håvard Mjaavatten ae876a4453 Add use of Windows Wide CRT API for env. vars
Replaces use of CRT API `getenv` and `putenv` with respectively
`_wgetenv` and `_wputenv`. Motivation is to reliably convert environment
variables to UTF-8, and the wide API is best there, because it's
reliably UTF-16.

Changed the hack in `lib/std/private/win_setenv.nim` by switching the
order of the Unicode and MBCS environment update; Unicode first, MBCS
second. Because `_wgetenv`/`_wputenv` is now used, the Unicode
environment will be initialized, so it should always be updated.

Stop updating MBCS environment with the name of `getEnv`. It's not
necessarily true that MBCS encoding and the `string` encoding is the
same. Instead convert UTF-16 to current Windows code page with
`wcstombs`, and use that string to update MBCS.

Fixes regression in `6b3c77e` that caused `std/envvars.getEnv` or
`std/os.getEnv` on Windows to return non-UTF-8 encoded strings.

Add tests that test environment variables with Unicode characters in
their name or value.
2022-07-25 11:08:28 +02:00
..
2020-10-29 18:12:14 +01:00
2020-11-13 16:15:13 +08:00
2020-12-28 14:13:21 +01:00
2020-11-05 14:00:49 +01:00
2021-01-07 19:16:26 +01:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2021-01-05 20:51:51 +01:00
2021-07-27 09:36:19 +02:00
2021-07-17 07:54:47 +02:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2021-03-26 13:05:51 +01:00
2021-04-06 16:21:58 +02:00
2021-10-24 11:51:57 +02:00
2021-07-05 10:12:58 -07:00
2020-11-23 19:53:57 +01:00
2020-12-27 14:45:57 +01:00
2019-05-16 21:06:04 +02:00
2020-11-24 19:06:41 +01:00
2020-12-28 14:13:21 +01:00
2021-01-22 19:51:11 +01:00
2021-02-06 17:33:11 +01:00
2020-10-18 12:57:13 -04:00
2021-02-22 19:58:37 +01:00
2021-03-08 10:39:39 +01:00
2021-06-16 11:31:20 +02:00
2018-12-11 21:23:21 +01:00
2021-08-23 00:13:39 +02:00
2021-09-02 12:10:14 +02:00
2020-11-24 19:06:41 +01:00
2021-07-19 12:43:31 +02:00
2020-12-28 14:13:21 +01:00
2021-02-09 13:04:36 +01:00
2020-12-28 14:13:21 +01:00
2021-07-18 15:16:26 +02:00
2020-12-28 14:13:21 +01:00
2022-07-06 13:06:41 +02:00
2020-07-12 03:31:03 -04:00
2022-05-30 12:09:18 +02:00
2018-04-30 11:16:56 +02:00
2020-12-28 14:13:21 +01:00