bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vasnwprintf: Port to older platforms without swprintf


From: Bruno Haible
Subject: Re: vasnwprintf: Port to older platforms without swprintf
Date: Wed, 22 Mar 2023 21:34:09 +0100

Now, on Solaris 11.3 with gcc, I see a warning

../../gllib/vasnprintf.c:275:25: warning: implicit declaration of function 
‘wcsnlen’ [-Wimplicit-function-declaration]

I don't know whether that's a Solaris 11 bug or a GCC installation/configuration
problem. Anyway, this simple patch fixes it.


2023-03-22  Bruno Haible  <bruno@clisp.org>

        vasnwprintf: Fix a warning: implicit declaration of function ‘wcsnlen’.
        * m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Test also whether wcsnlen is
        declared.
        * lib/vasnprintf.c (local_wcsnlen): Together with HAVE_WCSNLEN, test
        also HAVE_DECL_WCSNLEN.

diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 618fae7c77..732d13661f 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -271,7 +271,7 @@ local_wcslen (const wchar_t *s)
 #endif
 
 #if (!USE_SNPRINTF || (WIDE_CHAR_VERSION && DCHAR_IS_TCHAR) || 
!HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF) && HAVE_WCHAR_T && 
WIDE_CHAR_VERSION
-# if HAVE_WCSNLEN
+# if HAVE_WCSNLEN && HAVE_DECL_WCSNLEN
 #  define local_wcsnlen wcsnlen
 # else
 #  ifndef local_wcsnlen_defined
diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4
index 911e77c874..a42b5f83ac 100644
--- a/m4/vasnprintf.m4
+++ b/m4/vasnprintf.m4
@@ -1,4 +1,4 @@
-# vasnprintf.m4 serial 45
+# vasnprintf.m4 serial 46
 dnl Copyright (C) 2002-2004, 2006-2023 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -96,6 +96,7 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNWPRINTF]
 [
   AC_CHECK_FUNCS_ONCE([swprintf wcsnlen mbrtowc])
   AC_CHECK_DECLS([_snwprintf], , , [[#include <stdio.h>]])
+  AC_CHECK_DECLS([wcsnlen], , , [[#include <wchar.h>]])
   gl_SWPRINTF_WORKS
   case "$gl_cv_func_swprintf_works" in
     *yes)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]