-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
#include <locale.h>
#include <string.h>
size_t
-__mbstowcs_chk (wchar_t *dst, const char **src, size_t len, size_t dstlen)
+__mbstowcs_chk (wchar_t *dst, const char *src, size_t len, size_t dstlen)
{
- if (__builtin_expect (dstlen < len * sizeof (wchar_t), 0))
+ if (__glibc_unlikely (dstlen < len))
__chk_fail ();
mbstate_t state;
memset (&state, '\0', sizeof state);
/* Return how many we wrote (or maybe an error). */
- return __mbsrtowcs (dst, src, len, &state);
+ return __mbsrtowcs (dst, &src, len, &state);
}