Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com --- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrt/wcs.c | 14 ++++++++++++++ 8 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 4e6041e81e..577fb69b5a 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1297,7 +1297,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index d8e6ffac2c..97edbec6a7 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1654,7 +1654,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 168ac8b332..1aa63de64a 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1665,7 +1665,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index be0d87776d..2013b06cc7 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1384,7 +1384,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) msvcr120._snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) msvcr120._snprintf_l @ varargs _snprintf_s(ptr long long str) msvcr120._snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) msvcr120._snprintf_s_l @ varargs _snscanf(str long str) msvcr120._snscanf @ varargs _snscanf_l(str long str ptr) msvcr120._snscanf_l @ varargs _snscanf_s(str long str) msvcr120._snscanf_s diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 539c548aff..a31943e4d7 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -977,7 +977,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 1a7964a415..ff58757cb8 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -952,7 +952,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -@ stub _snprintf_s_l +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 6710c14245..6da32d025d 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -913,7 +913,7 @@ @ varargs _snprintf_c_l(ptr long str ptr) MSVCRT_snprintf_c_l @ varargs _snprintf_l(ptr long str ptr) MSVCRT__snprintf_l @ varargs _snprintf_s(ptr long long str) MSVCRT__snprintf_s -# stub _snprintf_s_l(ptr long long str ptr) +@ varargs _snprintf_s_l(ptr long long str ptr) MSVCRT_snprintf_s_l @ varargs _snscanf(str long str) MSVCRT__snscanf @ varargs _snscanf_l(str long str ptr) MSVCRT__snscanf_l @ varargs _snscanf_s(str long str) MSVCRT__snscanf_s diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 4e73169647..12de48b194 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1203,6 +1203,20 @@ int WINAPIV MSVCRT_snprintf_c(char *str, unsigned int count, const char *format, return retval; }
+/********************************************************************* + * _snprintf_s_l (MSVCRT.@) + */ +int WINAPIV MSVCRT_snprintf_s_l(char *str, unsigned int len, unsigned int count, + const char *format, MSVCRT__locale_t locale, ...) +{ + int retval; + __ms_va_list valist; + __ms_va_start(valist, locale); + retval = MSVCRT_vsnprintf_s_l(str, len, count, format, locale, valist); + __ms_va_end(valist); + return retval; +} + /********************************************************************* * _snprintf_s (MSVCRT.@) */