Browse Source

Update.

* wcsmbs/wcswidth.c (wcswidth): Don't forget to decrement counter n.
cvs/glibc-2-2-branch
Ulrich Drepper 27 years ago
parent
commit
35946fb706
  1. 2
      ChangeLog
  2. 3
      localedata/ChangeLog
  3. 2
      localedata/charmaps/ISO-8859-1
  4. 4
      wcsmbs/wcswidth.c
  5. 5
      wcsmbs/wcwidth.h

2
ChangeLog

@ -1,5 +1,7 @@
1999-11-17 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcswidth.c (wcswidth): Don't forget to decrement counter n.
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Remove greg_t,
gregset_t, fpregset_t, and NGREG definitions.

3
localedata/ChangeLog

@ -1,5 +1,8 @@
1999-11-17 Ulrich Drepper <drepper@cygnus.com>
* charmaps/ISO-8859-1: Don't define values for non-printable
characters.
* charmaps/ISO-8859-1: Add width information.
1999-11-12 Ulrich Drepper <drepper@cygnus.com>

2
localedata/charmaps/ISO-8859-1

@ -355,8 +355,6 @@ CHARMAP
END CHARMAP
WIDTH
<NU>...<US> 0
<SP>...<'?> 1
<DT>...<AC> 0
<NS>...<y:> 1
END WIDTH

4
wcsmbs/wcswidth.c

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -26,7 +26,7 @@ wcswidth (const wchar_t *s, size_t n)
{
int result = 0;
while (n > 0 && *s != L'\0')
while (n-- > 0 && *s != L'\0')
{
int now = internal_wcwidth (*s);
if (now == -1)

5
wcsmbs/wcwidth.h

@ -1,5 +1,5 @@
/* Internal header containing implementation of wcwidth() function.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -19,6 +19,7 @@
Boston, MA 02111-1307, USA. */
#include <wchar.h>
#include <wctype.h>
#include "../wctype/cname-lookup.h"
/* Array containing width information. */
@ -33,7 +34,7 @@ internal_wcwidth (wint_t ch)
return 0;
idx = cname_lookup (ch);
if (idx == ~((size_t) 0))
if (idx == ~((size_t) 0) || (__ctype32_b[idx] & _ISwprint) == 0)
return -1;
return (int) __ctype_width[idx];

Loading…
Cancel
Save