diff --git a/configure b/configure index 8f59c93ff9..56da7cdc73 100755 --- a/configure +++ b/configure @@ -19244,7 +19244,8 @@ fi -for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit memmove poll pstat readlink setproctitle setsid sigprocmask symlink sync_file_range towlower utime utimes wcstombs wcstombs_l + +for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat readlink setproctitle setsid sigprocmask symlink sync_file_range towlower utime utimes wcstombs wcstombs_l do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 diff --git a/configure.in b/configure.in index 3acefa1797..8d02abb4cc 100644 --- a/configure.in +++ b/configure.in @@ -1200,7 +1200,7 @@ PGAC_VAR_INT_TIMEZONE AC_FUNC_ACCEPT_ARGTYPES PGAC_FUNC_GETTIMEOFDAY_1ARG -AC_CHECK_FUNCS([cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit memmove poll pstat readlink setproctitle setsid sigprocmask symlink sync_file_range towlower utime utimes wcstombs wcstombs_l]) +AC_CHECK_FUNCS([cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat readlink setproctitle setsid sigprocmask symlink sync_file_range towlower utime utimes wcstombs wcstombs_l]) AC_REPLACE_FUNCS(fseeko) case $host_os in diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 92ea4413cc..297edd63e8 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -1206,17 +1206,17 @@ char2wchar(wchar_t *to, size_t tolen, const char *from, size_t fromlen, else { #ifdef HAVE_LOCALE_T -#ifdef HAVE_WCSTOMBS_L +#ifdef HAVE_MBSTOWCS_L /* Use mbstowcs_l for nondefault locales */ result = mbstowcs_l(to, str, tolen, locale); -#else /* !HAVE_WCSTOMBS_L */ +#else /* !HAVE_MBSTOWCS_L */ /* We have to temporarily set the locale as current ... ugh */ locale_t save_locale = uselocale(locale); result = mbstowcs(to, str, tolen); uselocale(save_locale); -#endif /* HAVE_WCSTOMBS_L */ +#endif /* HAVE_MBSTOWCS_L */ #else /* !HAVE_LOCALE_T */ /* Can't have locale != 0 without HAVE_LOCALE_T */ elog(ERROR, "mbstowcs_l is not available"); diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index dbe28931f8..1ffb032835 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -333,6 +333,9 @@ /* Define to 1 if `long long int' works and is 64 bits. */ #undef HAVE_LONG_LONG_INT_64 +/* Define to 1 if you have the `mbstowcs_l' function. */ +#undef HAVE_MBSTOWCS_L + /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index e6fc482534..b7b7c641d3 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -249,6 +249,9 @@ #define HAVE_LONG_LONG_INT_64 #endif +/* Define to 1 if you have the `mbstowcs_l' function. */ +#define HAVE_MBSTOWCS_L 1 + /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1