Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55344
It looks like the exports are just variables.
-- v2: msvcp140_codecvt_ids: Add codecvt_char32_char8_id data export. msvcp140_codecvt_ids: Add codecvt_char32_id data export. msvcp140_codecvt_ids: Add codecvt_char16_char8_id data export. msvcp140_codecvt_ids: Add codecvt_char16_id data export.
From: Mohamad Al-Jaf mohamadaljaf@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55344 --- configure.ac | 1 + dlls/msvcp140_codecvt_ids/Makefile.in | 1 + dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 dlls/msvcp140_codecvt_ids/Makefile.in create mode 100644 dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec
diff --git a/configure.ac b/configure.ac index 758f6250eec..5bfdb7fbdc8 100644 --- a/configure.ac +++ b/configure.ac @@ -2830,6 +2830,7 @@ WINE_CONFIG_MAKEFILE(dlls/msvcp140_1/tests) WINE_CONFIG_MAKEFILE(dlls/msvcp140_2) WINE_CONFIG_MAKEFILE(dlls/msvcp140_atomic_wait) WINE_CONFIG_MAKEFILE(dlls/msvcp140_atomic_wait/tests) +WINE_CONFIG_MAKEFILE(dlls/msvcp140_codecvt_ids) WINE_CONFIG_MAKEFILE(dlls/msvcp60) WINE_CONFIG_MAKEFILE(dlls/msvcp60/tests) WINE_CONFIG_MAKEFILE(dlls/msvcp70) diff --git a/dlls/msvcp140_codecvt_ids/Makefile.in b/dlls/msvcp140_codecvt_ids/Makefile.in new file mode 100644 index 00000000000..c1dad91cd68 --- /dev/null +++ b/dlls/msvcp140_codecvt_ids/Makefile.in @@ -0,0 +1 @@ +MODULE = msvcp140_codecvt_ids.dll diff --git a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec new file mode 100644 index 00000000000..acb6aa5e9b1 --- /dev/null +++ b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec @@ -0,0 +1,4 @@ +@ stub ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A +@ stub ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A +@ stub ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A +@ stub ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A
From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/msvcp140_codecvt_ids/Makefile.in | 3 +++ dlls/msvcp140_codecvt_ids/main.c | 26 +++++++++++++++++++ .../msvcp140_codecvt_ids.spec | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 dlls/msvcp140_codecvt_ids/main.c
diff --git a/dlls/msvcp140_codecvt_ids/Makefile.in b/dlls/msvcp140_codecvt_ids/Makefile.in index c1dad91cd68..14e820b01fe 100644 --- a/dlls/msvcp140_codecvt_ids/Makefile.in +++ b/dlls/msvcp140_codecvt_ids/Makefile.in @@ -1 +1,4 @@ MODULE = msvcp140_codecvt_ids.dll + +C_SRCS = \ + main.c diff --git a/dlls/msvcp140_codecvt_ids/main.c b/dlls/msvcp140_codecvt_ids/main.c new file mode 100644 index 00000000000..8ba17a454c2 --- /dev/null +++ b/dlls/msvcp140_codecvt_ids/main.c @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2023 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdarg.h> + +typedef struct { + size_t id; +} locale_id; + +/* ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A */ +locale_id codecvt_char16_id = {0}; diff --git a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec index acb6aa5e9b1..55451fcaca3 100644 --- a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec +++ b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec @@ -1,4 +1,4 @@ -@ stub ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A +@ extern ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_id @ stub ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A @ stub ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A @ stub ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A
From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/msvcp140_codecvt_ids/main.c | 2 ++ dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcp140_codecvt_ids/main.c b/dlls/msvcp140_codecvt_ids/main.c index 8ba17a454c2..846ea578d81 100644 --- a/dlls/msvcp140_codecvt_ids/main.c +++ b/dlls/msvcp140_codecvt_ids/main.c @@ -24,3 +24,5 @@ typedef struct {
/* ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A */ locale_id codecvt_char16_id = {0}; +/* ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A */ +locale_id codecvt_char16_char8_id = {0}; diff --git a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec index 55451fcaca3..18259e32b21 100644 --- a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec +++ b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec @@ -1,4 +1,4 @@ @ extern ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_id -@ stub ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A +@ extern ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_char8_id @ stub ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A @ stub ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A
From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/msvcp140_codecvt_ids/main.c | 2 ++ dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcp140_codecvt_ids/main.c b/dlls/msvcp140_codecvt_ids/main.c index 846ea578d81..1e8c6f4196f 100644 --- a/dlls/msvcp140_codecvt_ids/main.c +++ b/dlls/msvcp140_codecvt_ids/main.c @@ -26,3 +26,5 @@ typedef struct { locale_id codecvt_char16_id = {0}; /* ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A */ locale_id codecvt_char16_char8_id = {0}; +/* ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A */ +locale_id codecvt_char32_id = {0}; diff --git a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec index 18259e32b21..96d4f973e4f 100644 --- a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec +++ b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec @@ -1,4 +1,4 @@ @ extern ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_id @ extern ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_char8_id -@ stub ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A +@ extern ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char32_id @ stub ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A
From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/msvcp140_codecvt_ids/main.c | 2 ++ dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcp140_codecvt_ids/main.c b/dlls/msvcp140_codecvt_ids/main.c index 1e8c6f4196f..d71263a3e5d 100644 --- a/dlls/msvcp140_codecvt_ids/main.c +++ b/dlls/msvcp140_codecvt_ids/main.c @@ -28,3 +28,5 @@ locale_id codecvt_char16_id = {0}; locale_id codecvt_char16_char8_id = {0}; /* ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A */ locale_id codecvt_char32_id = {0}; +/* ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A */ +locale_id codecvt_char32_char8_id = {0}; diff --git a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec index 96d4f973e4f..4fd4b65e32a 100644 --- a/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec +++ b/dlls/msvcp140_codecvt_ids/msvcp140_codecvt_ids.spec @@ -1,4 +1,4 @@ @ extern ?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_id @ extern ?id@?$codecvt@_S_QU_Mbstatet@@@std@@2V0locale@2@A codecvt_char16_char8_id @ extern ?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A codecvt_char32_id -@ stub ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A +@ extern ?id@?$codecvt@_U_QU_Mbstatet@@@std@@2V0locale@2@A codecvt_char32_char8_id
On Thu Jul 27 23:53:12 2023 +0000, Mohamad Al-Jaf wrote:
changed this line in [version 2 of the diff](/wine/wine/-/merge_requests/3425/diffs?diff_id=59790&start_sha=4e903db6fec67101e273d1e7bf098f5a194f474b#b1aa4131a1baa17b5f0b47bfba7b18e752504bab_4_1)
I had something similar prior to submitting, for `?id@?$codecvt@_SDU_Mbstatet@@@std@@2V0locale@2@A`, as Yuzu calls it at some point, but I wasn't sure what to name the exports. I named them based on your suggestion and the undecorated symbols.
It looks good for me but please merge the patches together. First patch is not correct on its own.