summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog2
-rw-r--r--lib/mbswidth.c8
-rw-r--r--lib/regex.c3
-rw-r--r--lib/strtol.c6
4 files changed, 13 insertions, 6 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 3b8bc395b..c695523b9 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -13,6 +13,8 @@
Parse octal string ourself, so that we catch mistakes like "+0".
(mode_adjust): Arg is an array, not a linked list.
+ * mbswidth.c, regex.c, strtol.c: Sync from gnulib.
+
2005-04-28 Paul Eggert <eggert@cs.ucla.edu>
* tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
diff --git a/lib/mbswidth.c b/lib/mbswidth.c
index a51176026..4c79815e5 100644
--- a/lib/mbswidth.c
+++ b/lib/mbswidth.c
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2004 Free Software Foundation, Inc.
+ Copyright (C) 2000-2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -91,7 +91,8 @@ int wcwidth ();
character string pointed to by STRING. If a non-printable character
occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is
- the multibyte analogue of the wcswidth function. */
+ the multibyte analogue of the wcswidth function.
+ If STRING is not of length < INT_MAX / 2, integer overflow can occur. */
int
mbswidth (const char *string, int flags)
{
@@ -101,7 +102,8 @@ mbswidth (const char *string, int flags)
/* Returns the number of columns needed to represent the multibyte
character string pointed to by STRING of length NBYTES. If a
non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is
- specified, -1 is returned. */
+ specified, -1 is returned.
+ If NBYTES is not < INT_MAX / 2, integer overflow can occur. */
int
mbsnwidth (const char *string, size_t nbytes, int flags)
{
diff --git a/lib/regex.c b/lib/regex.c
index 51106c051..921378319 100644
--- a/lib/regex.c
+++ b/lib/regex.c
@@ -41,6 +41,9 @@
/* For platform which support the ISO C amendement 1 functionality we
support user defined character classes. */
# if defined _LIBC || WIDE_CHAR_SUPPORT
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included
+ before <wchar.h>. */
+# include <stdio.h>
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
# include <wchar.h>
# include <wctype.h>
diff --git a/lib/strtol.c b/lib/strtol.c
index eed62c4a5..25e2e4d43 100644
--- a/lib/strtol.c
+++ b/lib/strtol.c
@@ -127,9 +127,9 @@ extern int errno;
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
-/* True if negative values of the signed integer type T use twos
- complement, ones complement, or signed magnitude representation,
- respectively. Much GNU code assumes twos complement, but some
+/* True if negative values of the signed integer type T use two's
+ complement, ones' complement, or signed magnitude representation,
+ respectively. Much GNU code assumes two's complement, but some
people like to be portable to all possible C hosts. */
# define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
# define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)