Skip to content

[v5.0] Backport Windows API argument and boolean-return corrections - #9201

Open
dand-oss wants to merge 1 commit into
FirebirdSQL:v5.0-releasefrom
dand-oss:fix/v5-msvc-conversions
Open

dand-oss wants to merge 1 commit into
FirebirdSQL:v5.0-releasefrom
dand-oss:fix/v5-msvc-conversions

Conversation

@dand-oss

@dand-oss dand-oss commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Apply the narrow Windows type-conversion corrections to the Firebird 5 branch: return false from the bool-returning shared-memory remap error paths, explicitly adapt the SSPI package-name argument, and pass a null optional class name to RegCreateKeyEx.

Equivalent corrections are already on master in 9266b5e (the C++20 migration, #8657). This proposal keeps the surrounding Firebird 5 conventions and does not change its required language standard.

These fixes originated in Windows/MSVC work on strict C++23 builds. For this upstream submission, the patch was additionally applied cleanly to current v5.0-release, the changed calls/returns were compared with the accepted master implementation, and git diff --check passed. Windows validation was not independently rerun during submission preparation.

C++23 is stricter about implicit conversions that C++17 allowed:
- isc_sync.cpp: return NULL in bool function -> return false
- install.cpp/registry.cpp: const char* "" to LPSTR -> NULL (valid per Win32 API)
- AuthSspi.cpp: const char* to SEC_CHAR* -> const_cast
@dand-oss
dand-oss marked this pull request as ready for review October 7, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant