This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
POSIX.xs: Use alternative functions if avail
authorKarl Williamson <khw@cpan.org>
Mon, 30 Nov 2020 16:30:52 +0000 (09:30 -0700)
committerKarl Williamson <khw@cpan.org>
Fri, 4 Dec 2020 21:43:12 +0000 (14:43 -0700)
These preprocessor directives failed to account for the existence of
common alternative functions (which the implementation knows about) if
the plain function is not available on the platform.

I doubt that this makes any difference, but it makes these conditionals
consistent with the others nearby.

ext/POSIX/POSIX.xs

index cc67fd6..86ea945 100644 (file)
@@ -1564,7 +1564,7 @@ END_EXTERN_C
 #if ! defined(HAS_MBTOWC) && ! defined(HAS_MBRTOWC)
 #define mbtowc(pwc, s, n) not_here("mbtowc")
 #endif
-#ifndef HAS_WCTOMB
+#if ! defined(HAS_WCTOMB) && ! defined(HAS_WCRTOMB)
 #define wctomb(s, wchar) not_here("wctomb")
 #endif
 #if !defined(HAS_MBLEN) && !defined(HAS_MBSTOWCS) && !defined(HAS_MBTOWC) && !defined(HAS_WCSTOMBS) && !defined(HAS_WCTOMB)
@@ -1578,7 +1578,7 @@ END_EXTERN_C
 #endif
 #endif
 
-#ifndef HAS_LOCALECONV
+#if ! defined(HAS_LOCALECONV) && ! defined(HAS_LOCALECONV_L)
 #   define localeconv() not_here("localeconv")
 #else
 struct lconv_offset {