From 5d577ae9ea2b8f8f70dcad3d3d4f4bf964bb9de9 Mon Sep 17 00:00:00 2001 From: Brendan McGrath Date: Tue, 5 Mar 2019 20:58:32 +1100 Subject: [PATCH] libwine: get_sortkey to return consistent length with and without dstlen. Signed-off-by: Brendan McGrath Signed-off-by: Alexandre Julliard --- dlls/kernel32/tests/locale.c | 1 - libs/wine/sortkey.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index e11fe1beb01..cf781e55884 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -2366,7 +2366,6 @@ static void test_LCMapStringA(void) ret2 = LCMapStringA(LOCALE_USER_DEFAULT, LCMAP_SORTKEY, upper_case, lstrlenA(upper_case), NULL, 0); ok(ret2, "LCMapStringA must succeed\n"); - todo_wine ok(ret == ret2, "lengths of sort keys must be equal (%d vs %d)\n", ret, ret2); /* test LCMAP_SORTKEY | NORM_IGNORECASE */ diff --git a/libs/wine/sortkey.c b/libs/wine/sortkey.c index ef4488908b6..c61a7e56f5f 100644 --- a/libs/wine/sortkey.c +++ b/libs/wine/sortkey.c @@ -79,8 +79,8 @@ int wine_get_sortkey(int flags, const WCHAR *src, int srclen, char *dst, int dst } if (!dstlen) /* compute length */ - /* 4 * '\1' + 1 * '\0' + key length */ - return key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1; + /* 4 * '\1' + key length */ + return key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4; if (dstlen < key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1) return 0; /* overflow */