Put the string buffer at the end of the struct to
match the Windows behaviour and avoid unnecessary
pointer arithmetic.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51017
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Also move the reference flag to the hstring_header struct.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The goal of these tests is to show, that the memory layout
of hstring_private is different on Windows, than currently
used in Wine. This creates issues with the WinRT SDK, which
allocates HSTRINGs without using the functions provided by
the combase dll.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Microsoft changed the behavior from returning NULL into returning a valid pointer.
Signed-off-by: Detlef Riekenberg <wine.dev@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
When WindowsCreateStringReference is given a non-null input string,
the input string must be null terminated at the given length,
even if the input length is zero.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>