BUG #18219: libpq does not take into consideration UNICODE define
От | PG Bug reporting form |
---|---|
Тема | BUG #18219: libpq does not take into consideration UNICODE define |
Дата | |
Msg-id | 18219-e052656ac68bab94@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #18219: libpq does not take into consideration UNICODE define
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 18219 Logged by: Jan Březina Email address: 2janbrezina@gmail.com PostgreSQL version: 16.0 Operating system: Windows Description: I use libpqxx via vcpkg in Windows project build for x64 system using Visual Studio. There is a UNICODE define, which causes **W Windows functions to be used and hence string parameters should be passed in using L"...". I have sslrootcert file used in my connection string. During the connection initialization stat() function is invoked for the file. It is implemented in win32stat.c, which then invokes pgwin32_open_handle() (open.c) and then initialize_ntdll() (win32ntdll.c) is invoked. There is a use of LoadLibraryEx which is just a define above LoadLibraryExA or LoadLibraryExW. Using UNICODE implies LoadLibraryExW to be used, but the parameter passed in is char*, not wchar_t*. This leads to failed initialization returning error code 126 - The specified module could not be found. There should be a switch if UNICODE is defined, then L"ntdll.dll" should be passed in. The same applies to all other Windows functions consuming strings.
В списке pgsql-bugs по дате отправления: