summaryrefslogtreecommitdiff
path: root/wcsmbs
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-01-30 09:30:09 +0000
committerJakub Jelinek <jakub@redhat.com>2006-01-30 09:30:09 +0000
commit3e543bc56346540cbf73fd48d0172fc6a588efd5 (patch)
treeb2c3502b6596d238ac861cc82cafdc6f8b84e143 /wcsmbs
parent06f313e361a523605ba6d4c9cdc67a7353cd367c (diff)
Updated to fedora-glibc-20060130T0922
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/Makefile5
-rw-r--r--wcsmbs/bits/wchar-ldbl.h62
-rw-r--r--wcsmbs/bits/wchar2.h21
-rw-r--r--wcsmbs/wchar.h10
4 files changed, 76 insertions, 22 deletions
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 7446bda89e..7a289a8dc7 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -1,4 +1,5 @@
-# Copyright (C) 1995-2000,2002,2003,2004,2005 Free Software Foundation, Inc.
+# Copyright (C) 1995-2000,2002,2003,2004,2005,2006
+# 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
@@ -21,7 +22,7 @@
#
subdir := wcsmbs
-headers := wchar.h bits/wchar.h bits/wchar2.h
+headers := wchar.h bits/wchar.h bits/wchar2.h bits/wchar-ldbl.h
distribute := wcwidth.h wcsmbsload.h
routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
diff --git a/wcsmbs/bits/wchar-ldbl.h b/wcsmbs/bits/wchar-ldbl.h
new file mode 100644
index 0000000000..5e4894567c
--- /dev/null
+++ b/wcsmbs/bits/wchar-ldbl.h
@@ -0,0 +1,62 @@
+/* -mlong-double-64 compatibility mode for <wchar.h> functions.
+ Copyright (C) 2006 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ 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. */
+
+#ifndef _WCHAR_H
+# error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
+#endif
+
+#if defined __USE_ISOC99 || defined __USE_UNIX98
+__BEGIN_NAMESPACE_C99
+__LDBL_REDIR_DECL (fwprintf);
+__LDBL_REDIR_DECL (wprintf);
+__LDBL_REDIR_DECL (swprintf);
+__LDBL_REDIR_DECL (vfwprintf);
+__LDBL_REDIR_DECL (vwprintf);
+__LDBL_REDIR_DECL (vswprintf);
+__LDBL_REDIR_DECL (fwscanf);
+__LDBL_REDIR_DECL (wscanf);
+__LDBL_REDIR_DECL (swscanf);
+__END_NAMESPACE_C99
+#endif
+
+#ifdef __USE_ISOC99
+__BEGIN_NAMESPACE_C99
+__LDBL_REDIR1_DECL (wcstold, wcstod);
+__LDBL_REDIR_DECL (vfwscanf);
+__LDBL_REDIR_DECL (vwscanf);
+__LDBL_REDIR_DECL (vswscanf);
+__END_NAMESPACE_C99
+#endif
+
+#ifdef __USE_GNU
+__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
+#endif
+
+__LDBL_REDIR1_DECL (__wcstold_internal, __wcstod_internal);
+
+#if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus
+__LDBL_REDIR_DECL (__swprintf_chk)
+__LDBL_REDIR_DECL (__vswprintf_chk)
+# if __USE_FORTIFY_LEVEL > 1
+__LDBL_REDIR_DECL (__fwprintf_chk)
+__LDBL_REDIR_DECL (__wprintf_chk)
+__LDBL_REDIR_DECL (__vfwprintf_chk)
+__LDBL_REDIR_DECL (__vwprintf_chk)
+# endif
+#endif
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index 6eac952ac9..00216ec059 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -1,5 +1,5 @@
/* Checking macros for wchar functions.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006 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
@@ -210,22 +210,11 @@ extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
-extern int __REDIRECT_NTH (__vswprintf_alias,
- (wchar_t *__restrict __s, size_t __n,
- __const wchar_t *__restrict __format,
- __gnuc_va_list __arg), vswprintf)
- /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
-
-extern __always_inline int
-__NTH (vswprintf (wchar_t *__s, size_t __n, __const wchar_t *__format,
- __gnuc_va_list __arg))
-{
- if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
- return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, __bos (__s),
- __format, __arg);
- return vswprintf (__s, __n, __format, __arg);
-}
+#define vswprintf(s, n, fmt, ap) \
+ (__bos (s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1 \
+ ? __vswprintf_chk (s, n, __USE_FORTIFY_LEVEL - 1, __bos (s), fmt, ap) \
+ : vswprintf (s, n, fmt, ap))
#if __USE_FORTIFY_LEVEL > 1
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 0c02dcc574..670dc79c4a 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2004,2005,2006 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
@@ -561,12 +561,12 @@ extern __inline float
__NTH (wcstof (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr))
{ return __wcstof_internal (__nptr, __endptr, 0); }
+# ifndef __LDBL_COMPAT
extern __inline long double
__NTH (wcstold (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr))
{ return __wcstold_internal (__nptr, __endptr, 0); }
-
-
+# endif
__extension__
extern __inline long long int
__NTH (wcstoq (__const wchar_t *__restrict __nptr,
@@ -833,12 +833,14 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
# include <wctype.h>
#endif
-
/* Define some macros helping to catch buffer overflows. */
#if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus
# include <bits/wchar2.h>
#endif
+#ifdef __LDBL_COMPAT
+# include <bits/wchar-ldbl.h>
+#endif
__END_DECLS