diff options
author | Roland McGrath <roland@gnu.org> | 1996-07-09 23:17:59 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-07-09 23:17:59 +0000 |
commit | 07a4742f9ec2b0587c0d488bb65da2a6faa50fed (patch) | |
tree | 2b10e82cad4053bcbe27447bc3d444f6d2aef5e7 /wcsmbs/wchar.h | |
parent | c150923988933b5db75a974d4cc08cd7f7aaf3dc (diff) | |
download | glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.tar glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.tar.gz glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.tar.bz2 glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.zip |
* posix/glob.h (__glob_opendir_hook, __glob_readdir_hook,cvs/libc-960710
__glob_closedir_hook): Remove decls.
* sysdeps/generic/machine-gmon.h: Declare mcount_internal.
* sysdeps/unix/inet/syscalls.list: Define __ names with weak aliases
for send and connect syscalls.
* socket/sys/socket.h: New file, taken from non-sysdep parts of
linux/sys/socket.h; break sysdeps parts out into socketbits.h.
Declare __ names for send and connect.
* sysdeps/generic/socketbits.h: New file.
* sysdeps/unix/sysv/linux/socketbits.h: New file.
* sysdeps/unix/sysv/linux/sys/socket.h: File removed.
* sysdeps/generic/sys/socket.h: File removed.
* sysdeps/mach/hurd/connect.c: Define __ name and weak alias.
* sysdeps/mach/hurd/send.c: Likewise.
Diffstat (limited to 'wcsmbs/wchar.h')
-rw-r--r-- | wcsmbs/wchar.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h index cc821b8a50..806bafa655 100644 --- a/wcsmbs/wchar.h +++ b/wcsmbs/wchar.h @@ -48,7 +48,11 @@ typedef unsigned int wint_t; /* Conversion state information. */ -typedef int mbstate_t; /* FIXME */ +typedef struct +{ + int count; /* Number of bytes needed for the current character. */ + wint_t value; /* Value so far. */ +} mbstate_t; #define WCHAR_MIN ((wchar_t) 0) #define WCHAR_MAX (~WCHAR_MIN) @@ -145,9 +149,6 @@ extern int wctob __P ((wint_t __c)); state. */ extern int mbsinit __P ((__const mbstate_t *__ps)); -/* Return number of bytes in multibyte character pointed to by S. */ -extern size_t mbrlen __P ((__const char *__s, size_t __n, mbstate_t *ps)); - /* Write wide character representation of multibyte character pointed to by S to PWC. */ extern size_t mbrtowc __P ((wchar_t *__pwc, __const char *__s, size_t __n, @@ -156,6 +157,17 @@ extern size_t mbrtowc __P ((wchar_t *__pwc, __const char *__s, size_t __n, /* Write multibyte representation of wide character WC to S. */ extern size_t wcrtomb __P ((char *__s, wchar_t __wc, mbstate_t *__ps)); +/* Return number of bytes in multibyte character pointed to by S. */ +extern size_t __mbrlen __P ((__const char *__s, size_t __n, mbstate_t *__ps)); +extern size_t mbrlen __P ((__const char *__s, size_t __n, mbstate_t *__ps)); + +#if defined (__OPTIMIZE__) \ + && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) +/* Define inline function as optimization. */ +extern __inline size_t mbrlen (__const char *s, size_t n, mbstate_t *ps) +{ return ps != NULL ? mbrtowc (NULL, s, n, ps) : __mbrlen (s, n, NULL); } +#endif + /* Write wide character representation of multibyte chracter string SRC to DST. */ extern size_t mbsrtowcs __P ((wchar_t *__dst, __const char **__src, |