aboutsummaryrefslogtreecommitdiff
path: root/wcsmbs/mbsinit.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-09 23:17:59 +0000
committerRoland McGrath <roland@gnu.org>1996-07-09 23:17:59 +0000
commit07a4742f9ec2b0587c0d488bb65da2a6faa50fed (patch)
tree2b10e82cad4053bcbe27447bc3d444f6d2aef5e7 /wcsmbs/mbsinit.c
parentc150923988933b5db75a974d4cc08cd7f7aaf3dc (diff)
downloadglibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.zip
glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.tar.gz
glibc-07a4742f9ec2b0587c0d488bb65da2a6faa50fed.tar.bz2
* 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/mbsinit.c')
-rw-r--r--wcsmbs/mbsinit.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/wcsmbs/mbsinit.c b/wcsmbs/mbsinit.c
index efbfd09..f56ce20 100644
--- a/wcsmbs/mbsinit.c
+++ b/wcsmbs/mbsinit.c
@@ -1,6 +1,6 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
-Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
+Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -20,15 +20,17 @@ Boston, MA 02111-1307, USA. */
#include <string.h>
#include <wchar.h>
-
+/* In GNU libc the conversion functions only can convert between the
+ fixed wide character representation and the multibyte
+ representation of the same character set. Since we use ISO 10646
+ in UCS4 encoding for wide characters the best solution for
+ multibyte characters is the UTF8 encoding. I.e., the only state
+ information is a counter of the processed bytes so far and the
+ value collected so far. Especially, we don't have different shift
+ states. */
int
mbsinit (ps)
const mbstate_t *ps;
{
- /*************************************************************\
- |* This is no complete implementation. While the multi-byte *|
- |* character handling is not finished this will do. *|
- \*************************************************************/
-
- return ps == NULL || *ps == 0;
+ return ps == NULL || ps->count == 0;
}