1999-01-12 04:13:43 +08:00
|
|
|
#ifndef _WCTYPE_H
|
|
|
|
|
* include/bits/dlfcn.h: New file.
* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.
* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
* include/pwd.h (_nss_files_parse_pwent): Likewise.
* include/shadow.h (_nss_files_parse_spent): Likewise.
* include/netdb.h (_nss_files_parse_protoent,
_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
(LINE_PARSER): Use it.
* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.
* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add prototypes here too. Add libc_hidden_proto.
* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add libc_hidden_weak.
* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
#endif.
* manual/debug.texi (%MENU%): Remove trailing dot.
Reported by <hayastan132@hotmail.com>.
2002-08-10 15:54:55 +08:00
|
|
|
/* We try to get wint_t from <stddef.h>, but not all GCC versions define it
|
|
|
|
there. So define it ourselves if it remains undefined. */
|
|
|
|
# define __need_wint_t
|
|
|
|
# include <stddef.h>
|
|
|
|
# ifndef _WINT_T
|
|
|
|
/* Integral type unchanged by default argument promotions that can
|
|
|
|
hold any value corresponding to members of the extended character
|
|
|
|
set, as well as at least one value that does not correspond to any
|
|
|
|
member of the extended character set. */
|
|
|
|
# define _WINT_T
|
|
|
|
typedef unsigned int wint_t;
|
|
|
|
# endif
|
|
|
|
|
|
|
|
/* Need to repeat these prototypes here, as wctype/wctype.h defines all
|
|
|
|
these as macros and thus we couldn't add libc_hidden_proto. */
|
|
|
|
|
|
|
|
extern int iswalpha (wint_t __wc);
|
2002-12-07 07:38:01 +08:00
|
|
|
extern int iswalnum (wint_t __wc);
|
* include/bits/dlfcn.h: New file.
* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.
* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
* include/pwd.h (_nss_files_parse_pwent): Likewise.
* include/shadow.h (_nss_files_parse_spent): Likewise.
* include/netdb.h (_nss_files_parse_protoent,
_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
(LINE_PARSER): Use it.
* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.
* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add prototypes here too. Add libc_hidden_proto.
* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add libc_hidden_weak.
* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
#endif.
* manual/debug.texi (%MENU%): Remove trailing dot.
Reported by <hayastan132@hotmail.com>.
2002-08-10 15:54:55 +08:00
|
|
|
extern int iswdigit (wint_t __wc);
|
|
|
|
extern int iswlower (wint_t __wc);
|
|
|
|
extern int iswspace (wint_t __wc);
|
|
|
|
extern int iswxdigit (wint_t __wc);
|
|
|
|
extern wint_t towlower (wint_t __wc);
|
|
|
|
extern wint_t towupper (wint_t __wc);
|
|
|
|
|
|
|
|
libc_hidden_proto (iswalpha)
|
2002-12-07 07:38:01 +08:00
|
|
|
libc_hidden_proto (iswalnum)
|
* include/bits/dlfcn.h: New file.
* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.
* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
* include/pwd.h (_nss_files_parse_pwent): Likewise.
* include/shadow.h (_nss_files_parse_spent): Likewise.
* include/netdb.h (_nss_files_parse_protoent,
_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
(LINE_PARSER): Use it.
* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.
* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add prototypes here too. Add libc_hidden_proto.
* wctype/wcfuncs ((iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
towlower, towupper): Add libc_hidden_weak.
* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
#endif.
* manual/debug.texi (%MENU%): Remove trailing dot.
Reported by <hayastan132@hotmail.com>.
2002-08-10 15:54:55 +08:00
|
|
|
libc_hidden_proto (iswdigit)
|
|
|
|
libc_hidden_proto (iswlower)
|
|
|
|
libc_hidden_proto (iswspace)
|
|
|
|
libc_hidden_proto (iswxdigit)
|
|
|
|
libc_hidden_proto (towlower)
|
|
|
|
libc_hidden_proto (towupper)
|
|
|
|
|
Wed May 1 09:10:04 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/strftime.c: Use canonical autoconf nugget for time.h+sys/time.h
include.
Mon Apr 29 02:48:26 1996 Ulrich Drepper <drepper@cygnus.com>
* ctype/ctype-info.c: (__ctype_width): New variable.
(__ctype_names): Initialize correctly without offset.
* locale/C-collate.c, locale/C-ctype.c,
locale/C-messages.c, locale/C-monetary.c,
locale/C-numeric.c, locale/C-time.c: Change copyright.
* locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Correct
endianess for initialization value.
* locale/lc-ctype.c (current): Add parameter for offset.
(__ctype32_b, __ctype_width): Add initialization for these
variables.
* locale/programs/charmap.c: Finish support for WIDTH information.
(new_width): New function.
* locale/programs/charset.h (width_rule): new data structure.
(charset_t): Add elements for width information.
* locale/programs/ld-ctype.c (locale_ctype_t): Add element
for width information.
(allocate_arrays): Add new argument for charset.
(ctype_finish): Make sure all characters named in charset
width table are known to name table.
(ctype_output): Correct handling of class and map name
information and write out width information.
(find_idx): Prepare for being called with NULL pointer as
TABLE argument. This means only allocate name entry.
(allocate_arrays): Correct handling of array element -1.
Because EOF == -1 the value of element 127 must *not* be
mirrored here.
Fill width information from charset tables.
* locale/programs/localedef.c (main): Correct loop over all
categories after change of order from Thu Mar 28 14:22:51 1996.
Add new charset argument to call of `write_all_categories'.
* locale/programs/locales.h (ctype_finish, ctype_output): New
charset argument.
* locale/programs/locfile.c (write_all_categories): Call
`ctype_output' with additional argument charset.
* posix/getconf.c (vars): Add _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
and _POSIX_PRIO_IO definitions.
* posix/posix2_lim.h: Add definition of _POSIX2_CHARCLASS_NAME_MAX
and CHARCLASS_NAME_MAX.
* posix/unistd.h: Document _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
and _POSIX_PRIO_IO.
* stdlib/grouping.h: Prepare for use in wide string functions.
* stdlib/stdlib.h: Correct prototypes for __strto*_internal
functions.
* stdlib/strtod.c: Extend for use as `wcsto{f,d,ld}'.
* stdlib/strtol.c: Extend for use as `wcsto{l,ul,q,uq}'.
* string/strcoll.c: Extend for use as `wcscoll'.
* string/strxfrm.c: Extend for use as `wcsxfrm'.
* sysdeps/generic/confname.h: Add definition of _PC_SYNC_IO,
_PC_ASYNC_IO, _PC_PRIO_IO and _SC_CHARCLASS_NAME_MAX.
* sysdeps/generic/stpncpy.c: Correct return value.
* sysdeps/posix/fpathconf.c: Add handling of _PC_SYNC_IO,
_PC_ASYNC_IO, and _PC_PRIO_IO.
* sysdeps/posix/sysconf.c: Add handling of _SC_REALTIME_SIGNALS,
_SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
_SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC,
_SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
_SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES,
_SC_SHARED_MEMORY_OBJECTS, and _SC_CHARCLASS_NAME_MAX.
* sysdeps/stub/sysconf.c: Ditto.
* sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
* sysdeps/unix/sysv/linux/Dist: Add sys/sysctl.h.
* sysdeps/unix/sysv/linux/Makefile [subdir == misc]
(sysdep_routines): Add s_sysctl and sysctl.
* sysdeps/unix/sysv/linux/sys/mman.h: Add declaration of mremap.
* sysdeps/unix/sysv/linux/sys/socket.h: New file. Wrapper
around kernel header.
* sysdeps/unix/sysv/linux/sys/sysctl.h: New file. Define
interface to `sysctl' function.
* sysdeps/unix/sysv/linux/syscalls.list: Add mremap and _sysctl.
* sysdeps/unix/sysv/linux/sysconf.c: Add handling of
_SC_CHARCLASS_NAME_MAX.
* sysdeps/unix/sysv/linux/sysctl.c: new file. Implement caller
of _sysctl system call.
* sysvipc/Makefile (routines): Add ftok.
* sysvipc/ftok.c: use variable `proj_id' not `id'. Patch by
David Mosberger-Tang.
* wcsmbs/Makefile (routines): Add wcpcpy, wcpncpy, wcstol,
wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
wcsxfrm, wcwidth, and wcswidth.
* wcsmbs/wchar.h: Add declarations for wcpcpy, wcpncpy, wcstol,
wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
wcsxfrm, wcwidth, and wcswidth.
Declare internal interfaces for wcsto* functions.
[OPTIMIZE]: Define inline functions for wcsto* functions to
call internal interface functions.
* wcsmbs/wcpcpy.c, wcsmbs/wcpncpy.c: New files. Implement non-
standard function equivalent to stpcpy/stpncpy.
* wcsmbs/wcscoll.c: Implement `wcscoll' function by using
`strcoll' implementation.
* wcsmbs/wcscpy.c, wcsmbs/wcsncpy.c: Use wint_t instead of
wchar_t.
* wcsmbs/wcstod.c: Implement `wcstod' function by using `strtod'
implementation.
* wcsmbs/wcstof.c: Same for `wcstof'.
* wcsmbs/wcstold.c: Same for `strtold'.
* wcsmbs/wcstol.c: Implement `wcstol' function by using `strtol'
implementation.
* wcsmbs/wcstoq.c: Same for `wcstoq'.
* wcsmbs/wcstoul.c: Same for `wcstoul'.
* wcsmbs/wcstouq.c: Same for `wcstouq'.
* wcsmbs/wcswidth.c: Implement `wcswidth' function from X/Open
CAE.
* wcsmbs/wcwidth.c: Ditto for `wcwidth'.
* wcsmbs/wcwidth.h: Common function for definitions of above two
functions.
* wcsmbs/wcsxfrm.c: Implement `wcsxfrm function by using
`strxfrm implementation.
* wctype/wctype.c: Remove case for `wctype_t' being 16 bit type.
* wctype/wctype.h (wint_t): Protect against multiple definition.
(wctype_t): Always define as `unsigned long int'.
* wctype.h: New file. Wrapper around wctype/wctype.h.
* hurd/hurdstartup.c (_hurd_split_args): Function removed.
(_hurd_startup): Use argz functions.
* hurd/hurdexec.c: Use argz functions.
1996-05-01 21:55:18 +08:00
|
|
|
#include <wctype/wctype.h>
|
1999-01-12 04:13:43 +08:00
|
|
|
|
2001-02-07 02:27:57 +08:00
|
|
|
/* Internal interfaces. */
|
2002-04-15 04:15:40 +08:00
|
|
|
extern int __iswalpha_l_internal (wint_t __wc, __locale_t __locale)
|
|
|
|
attribute_hidden;
|
|
|
|
extern int __iswdigit_l_internal (wint_t __wc, __locale_t __locale)
|
|
|
|
attribute_hidden;
|
|
|
|
extern int __iswspace_l_internal (wint_t __wc, __locale_t __locale)
|
|
|
|
attribute_hidden;
|
|
|
|
extern int __iswxdigit_l_internal (wint_t __wc, __locale_t __locale)
|
|
|
|
attribute_hidden;
|
1999-10-19 21:53:34 +08:00
|
|
|
extern int __iswspace (wint_t __wc);
|
2001-02-07 02:27:57 +08:00
|
|
|
extern int __iswctype (wint_t __wc, wctype_t __desc);
|
2002-04-15 04:15:40 +08:00
|
|
|
extern int __iswctype_internal (wint_t __wc, wctype_t __desc) attribute_hidden;
|
2001-02-07 02:27:57 +08:00
|
|
|
extern wctype_t __wctype (__const char *__property);
|
2004-02-09 18:05:22 +08:00
|
|
|
extern wctrans_t __wctrans (const char *__property);
|
2001-02-07 02:27:57 +08:00
|
|
|
extern wint_t __towctrans (wint_t __wc, wctrans_t __desc);
|
|
|
|
|
2002-08-28 07:36:31 +08:00
|
|
|
extern __typeof (iswalnum_l) __iswalnum_l;
|
|
|
|
extern __typeof (iswalpha_l) __iswalpha_l;
|
|
|
|
extern __typeof (iswblank_l) __iswblank_l;
|
|
|
|
extern __typeof (iswcntrl_l) __iswcntrl_l;
|
|
|
|
extern __typeof (iswdigit_l) __iswdigit_l;
|
|
|
|
extern __typeof (iswlower_l) __iswlower_l;
|
|
|
|
extern __typeof (iswgraph_l) __iswgraph_l;
|
|
|
|
extern __typeof (iswprint_l) __iswprint_l;
|
|
|
|
extern __typeof (iswpunct_l) __iswpunct_l;
|
|
|
|
extern __typeof (iswspace_l) __iswspace_l;
|
|
|
|
extern __typeof (iswupper_l) __iswupper_l;
|
|
|
|
extern __typeof (iswxdigit_l) __iswxdigit_l;
|
|
|
|
extern __typeof (towlower_l) __towlower_l;
|
|
|
|
extern __typeof (towupper_l) __towupper_l;
|
|
|
|
|
2004-03-05 18:54:16 +08:00
|
|
|
libc_hidden_proto (__towctrans)
|
Update.
2002-08-04 Ulrich Drepper <drepper@redhat.com>
* elf/dl-addr.c (_dl_addr): Add libc_hidden_def.
* elf/dl-close.c (_dl_close): Add libc_hidden_def.
* elf/dl-open.c (_dl_open): Add libc_hidden_def.
* include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open,
_dl_close.
* include/libio.h: Add libc_hidden_proto for __underflow, __wuflow,
__wunderflow.
* libio/genops.c (__underflow): Add libc_hidden_def.
* libio/wgenops.c (__wuflow): Likewise.
(__wunderflow): Likewise.
* include/obstack.h: Add libc_hidden_proto for _obstack_newchunk.
* malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def.
* include/stdio.h: Add libc_hidden_proto for __vfscanf.
* stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def.
* include/string.h: Add libc_hidden_proto for __strverscmp.
* string/strverscmp.c (__strverscmp): Add libc_hidden_def.
* include/unistd.h: Add libc_hidden_proto for __sysconf.
* sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def.
* sysdeps/posix/sysconf.c: Likewise.
* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
* include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l,
__iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l,
__iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l,
__iswxdigit_l, __towlower_l, __towupper_l.
* wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def.
* wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions.
* include/sys/wait.h: Add libc_hidden_proto for __xmknod.
* sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def.
* sysdeps/mach/hurd/xmknod.c: Likewise.
* sysdeps/unix/xmknod.c: Likewise.
* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise.
* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
* sunrpc/svc.c: Add missing INTUSE for _authenticate.
2002-08-04 17:27:27 +08:00
|
|
|
libc_hidden_proto (__iswctype)
|
|
|
|
libc_hidden_proto (__iswalnum_l)
|
|
|
|
libc_hidden_proto (__iswalpha_l)
|
|
|
|
libc_hidden_proto (__iswblank_l)
|
|
|
|
libc_hidden_proto (__iswcntrl_l)
|
|
|
|
libc_hidden_proto (__iswdigit_l)
|
|
|
|
libc_hidden_proto (__iswlower_l)
|
|
|
|
libc_hidden_proto (__iswgraph_l)
|
|
|
|
libc_hidden_proto (__iswprint_l)
|
|
|
|
libc_hidden_proto (__iswpunct_l)
|
|
|
|
libc_hidden_proto (__iswspace_l)
|
|
|
|
libc_hidden_proto (__iswupper_l)
|
|
|
|
libc_hidden_proto (__iswxdigit_l)
|
|
|
|
libc_hidden_proto (__towlower_l)
|
|
|
|
libc_hidden_proto (__towupper_l)
|
1999-01-12 04:13:43 +08:00
|
|
|
|
2004-03-16 18:10:13 +08:00
|
|
|
/* The spec says that isdigit must only match the decimal digits. We
|
|
|
|
can check this without a memory access. */
|
|
|
|
# ifndef NOT_IN_libc
|
|
|
|
# undef iswdigit
|
|
|
|
# define iswdigit(c) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
|
|
|
|
# undef iswdigit_l
|
|
|
|
# define iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
|
|
|
|
# undef __iswdigit_l
|
|
|
|
# define __iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; })
|
|
|
|
# endif
|
|
|
|
|
1999-01-12 04:13:43 +08:00
|
|
|
#endif
|