aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-03-06 07:27:56 +0000
committerUlrich Drepper <drepper@redhat.com>2005-03-06 07:27:56 +0000
commit1c99f950d19adb5ed56839d2eee4ba6db1d179b4 (patch)
tree1bdd7542eefd2938c5cf71efd8f3b74b9bd7d85d
parent3cc4a09733deb0e9313f820e148ada9a3007e6b0 (diff)
downloadglibc-1c99f950d19adb5ed56839d2eee4ba6db1d179b4.tar
glibc-1c99f950d19adb5ed56839d2eee4ba6db1d179b4.tar.gz
glibc-1c99f950d19adb5ed56839d2eee4ba6db1d179b4.tar.bz2
glibc-1c99f950d19adb5ed56839d2eee4ba6db1d179b4.zip
* posix/regexec.c (check_node_accept_bytes): Correct cast to avoid
warning. * posix/regex_internal.c (re_string_reconstruct): Add cast to avoid warning. (build_wcs_upper_buffer): Change type of bug to plain char. * locale/weightwc.h (findidx): Add casts to avoid warnings. * time/mktime.c (ranged_convert): Initialize tm to make the compiler happy. * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add casts to avoid warnings. * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Add casts to avoid warnings. * wcsmbs/mbsnrtowcs.c: Add casts to avoid warnings. * wcsmbs/wcsrtombs.c (__wcsrtombs): Add casts to avoid warnings. * wcsmbs/wcrtomb.c (__wcrtomb): Add casts to avoid warnings. * wcsmbs/mbrtowc.c (__mbrtowc): Use unsigned char for outbuf. * posix/regex_internal.c [_LIBC] (build_wcs_buffer): Avoid using dynamically sized array. (build_wcs_upper_buffer): Likewise.
-rw-r--r--ChangeLog18
-rw-r--r--locale/weightwc.h14
-rw-r--r--posix/regex_internal.c15
-rw-r--r--posix/regexec.c6
-rw-r--r--time/mktime.c5
-rw-r--r--wcsmbs/mbrtowc.c6
-rw-r--r--wcsmbs/mbsnrtowcs.c6
-rw-r--r--wcsmbs/mbsrtowcs_l.c12
-rw-r--r--wcsmbs/wcrtomb.c6
-rw-r--r--wcsmbs/wcsnrtombs.c6
-rw-r--r--wcsmbs/wcsrtombs.c6
11 files changed, 59 insertions, 41 deletions
diff --git a/ChangeLog b/ChangeLog
index 85cee67913..a41628e221 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2005-03-05 Ulrich Drepper <drepper@redhat.com>
+ * posix/regexec.c (check_node_accept_bytes): Correct cast to avoid
+ warning.
+ * posix/regex_internal.c (re_string_reconstruct): Add cast to
+ avoid warning.
+ (build_wcs_upper_buffer): Change type of bug to plain char.
+ * locale/weightwc.h (findidx): Add casts to avoid warnings.
+ * time/mktime.c (ranged_convert): Initialize tm to make the
+ compiler happy.
+ * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add casts to avoid warnings.
+ * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Add casts to avoid warnings.
+ * wcsmbs/mbsnrtowcs.c: Add casts to avoid warnings.
+ * wcsmbs/wcsrtombs.c (__wcsrtombs): Add casts to avoid warnings.
+ * wcsmbs/wcrtomb.c (__wcrtomb): Add casts to avoid warnings.
+ * wcsmbs/mbrtowc.c (__mbrtowc): Use unsigned char for outbuf.
* wcsmbs/wctob.c (wctob): Make buf array of unsigned char.
* sysdeps/generic/strchrnul.c: Add cast to avoid warning.
* libio/iofwide.c: Add casts to avoid warnings.
@@ -10,6 +24,10 @@
* iconv/gconv_simple.c (internal_utf8_loop): Make start unsigned
to avoid warning.
+ * posix/regex_internal.c [_LIBC] (build_wcs_buffer): Avoid using
+ dynamically sized array.
+ (build_wcs_upper_buffer): Likewise.
+
2005-03-05 Jakub Jelinek <jakub@redhat.com>
* include/bits/unistd.h: New file.
diff --git a/locale/weightwc.h b/locale/weightwc.h
index ff5e63aeef..436aa7e548 100644
--- a/locale/weightwc.h
+++ b/locale/weightwc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000, 2001,2003,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001,2003,2004,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper, <drepper@cygnus.com>.
@@ -22,12 +22,8 @@ auto inline int32_t
__attribute ((always_inline))
findidx (const wint_t **cpp)
{
- int32_t i;
- const wint_t *cp;
- wint_t ch;
-
- ch = *(*cpp)++;
- i = __collidx_table_lookup ((const char *) table, ch);
+ wint_t ch = *(*cpp)++;
+ int32_t i = __collidx_table_lookup ((const char *) table, ch);
if (i >= 0)
/* This is an index into the weight table. Cool. */
@@ -35,11 +31,11 @@ findidx (const wint_t **cpp)
/* Oh well, more than one sequence starting with this byte.
Search for the correct one. */
- cp = &extra[-i];
+ const int32_t *cp = &extra[-i];
while (1)
{
size_t nhere;
- const wint_t *usrc = *cpp;
+ const int32_t *usrc = (const int32_t *) *cpp;
/* The first thing is the index. */
i = *cp++;
diff --git a/posix/regex_internal.c b/posix/regex_internal.c
index c3295a851c..779d0b7334 100644
--- a/posix/regex_internal.c
+++ b/posix/regex_internal.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -214,7 +214,8 @@ build_wcs_buffer (pstr)
re_string_t *pstr;
{
#ifdef _LIBC
- unsigned char buf[pstr->mb_cur_max];
+ unsigned char buf[MB_CUR_MAX];
+ assert (MB_CUR_MAX >= pstr->mb_cur_max);
#else
unsigned char buf[64];
#endif
@@ -282,9 +283,10 @@ build_wcs_upper_buffer (pstr)
mbstate_t prev_st;
int src_idx, byte_idx, end_idx, mbclen, remain_len;
#ifdef _LIBC
- unsigned char buf[pstr->mb_cur_max];
+ char buf[MB_CUR_MAX];
+ assert (MB_CUR_MAX >= pstr->mb_cur_max);
#else
- unsigned char buf[64];
+ char buf[64];
#endif
byte_idx = pstr->valid_len;
@@ -666,8 +668,9 @@ re_string_reconstruct (pstr, idx, eflags)
/* XXX Don't use mbrtowc, we know which conversion
to use (UTF-8 -> UCS4). */
memset (&cur_state, 0, sizeof (cur_state));
- mlen = mbrtowc (&wc2, p, mlen, &cur_state)
- - (raw + offset - p);
+ mlen = (mbrtowc (&wc2, (const char *) p, mlen,
+ &cur_state)
+ - (raw + offset - p));
if (mlen >= 0)
{
memset (&pstr->cur_state, '\0',
diff --git a/posix/regexec.c b/posix/regexec.c
index 636396e6f7..3c226e3c20 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -3781,8 +3781,8 @@ check_node_accept_bytes (dfa, node_idx, input, str_idx)
{
const re_charset_t *cset = node->opr.mbcset;
# ifdef _LIBC
- const unsigned char *pin = ((char *) re_string_get_buffer (input)
- + str_idx);
+ const unsigned char *pin
+ = ((const unsigned char *) re_string_get_buffer (input) + str_idx);
int j;
uint32_t nrules;
# endif /* _LIBC */
diff --git a/time/mktime.c b/time/mktime.c
index c6ae56ee60..79221b8a74 100644
--- a/time/mktime.c
+++ b/time/mktime.c
@@ -1,5 +1,5 @@
/* Convert a `struct tm' to a time_t value.
- Copyright (C) 1993-1999, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2002-2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Paul Eggert (eggert@twinsun.com).
@@ -209,7 +209,8 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
{
time_t bad = *t;
time_t ok = 0;
- struct tm tm;
+ /* Initialize to make the compiler happy. */
+ struct tm tm = { 0, };
/* BAD is a known unconvertible time_t, and OK is a known good one.
Use binary search to narrow the range between BAD and OK until
diff --git a/wcsmbs/mbrtowc.c b/wcsmbs/mbrtowc.c
index 6932b047ae..eb2a312b7c 100644
--- a/wcsmbs/mbrtowc.c
+++ b/wcsmbs/mbrtowc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2004
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2004, 2005
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -42,7 +42,7 @@ __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
size_t result;
size_t dummy;
const unsigned char *inbuf, *endbuf;
- char *outbuf = (char *) (pwc ?: buf);
+ unsigned char *outbuf = (unsigned char *) (pwc ?: buf);
const struct gconv_fcts *fcts;
/* Set information for this step. */
@@ -56,7 +56,7 @@ __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
initial state. */
if (s == NULL)
{
- outbuf = (char *) buf;
+ outbuf = (unsigned char *) buf;
s = "";
n = 1;
}
diff --git a/wcsmbs/mbsnrtowcs.c b/wcsmbs/mbsnrtowcs.c
index 9ac06fe6c2..ef5ca06e2f 100644
--- a/wcsmbs/mbsnrtowcs.c
+++ b/wcsmbs/mbsnrtowcs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -62,7 +62,7 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
if (nmc == 0)
return 0;
- srcend = *src + __strnlen (*src, nmc - 1) + 1;
+ srcend = (const unsigned char *) *src + __strnlen (*src, nmc - 1) + 1;
/* Get the conversion functions. */
fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
@@ -74,7 +74,7 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
if (dst == NULL)
{
wchar_t buf[64]; /* Just an arbitrary size. */
- const unsigned char *inbuf = *src;
+ const unsigned char *inbuf = (const unsigned char *) *src;
result = 0;
data.__outbufend = (unsigned char *) buf + sizeof (buf);
diff --git a/wcsmbs/mbsrtowcs_l.c b/wcsmbs/mbsrtowcs_l.c
index 8da3095566..c44c8e5066 100644
--- a/wcsmbs/mbsrtowcs_l.c
+++ b/wcsmbs/mbsrtowcs_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 2002.
@@ -70,16 +70,16 @@ __mbsrtowcs_l (dst, src, len, ps, l)
mbstate_t temp_state;
wchar_t buf[64]; /* Just an arbitrary size. */
const unsigned char *inbuf = (const unsigned char *) *src;
- const unsigned char *srcend = inbuf + strlen (inbuf) + 1;
+ const unsigned char *srcend = inbuf + strlen (*src) + 1;
temp_state = *data.__statep;
data.__statep = &temp_state;
result = 0;
- data.__outbufend = (char *) buf + sizeof (buf);
+ data.__outbufend = (unsigned char *) buf + sizeof (buf);
do
{
- data.__outbuf = (char *) buf;
+ data.__outbuf = (unsigned char *) buf;
status = DL_CALL_FCT (towc->__fct,
(towc, &data, &inbuf, srcend, NULL,
@@ -114,7 +114,7 @@ __mbsrtowcs_l (dst, src, len, ps, l)
{
/* Pessimistic guess as to how much input we can use. In the
worst case we need one input byte for one output wchar_t. */
- srcend = srcp + __strnlen (srcp, len) + 1;
+ srcend = srcp + __strnlen ((const char *) srcp, len) + 1;
status = DL_CALL_FCT (towc->__fct,
(towc, &data, &srcp, srcend, NULL,
@@ -131,7 +131,7 @@ __mbsrtowcs_l (dst, src, len, ps, l)
}
/* Make the end if the input known to the caller. */
- *src = srcp;
+ *src = (const char *) srcp;
result = (wchar_t *) data.__outbuf - dst;
diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c
index 38144796f8..f7971e704b 100644
--- a/wcsmbs/wcrtomb.c
+++ b/wcsmbs/wcrtomb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,2000,2002,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -60,8 +60,8 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
}
/* Tell where we want to have the result. */
- data.__outbuf = s;
- data.__outbufend = s + MB_CUR_MAX;
+ data.__outbuf = (unsigned char *) s;
+ data.__outbufend = (unsigned char *) s + MB_CUR_MAX;
/* Get the conversion functions. */
fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
diff --git a/wcsmbs/wcsnrtombs.c b/wcsmbs/wcsnrtombs.c
index 0ff26d6671..0252b7fa23 100644
--- a/wcsmbs/wcsnrtombs.c
+++ b/wcsmbs/wcsnrtombs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -104,8 +104,8 @@ __wcsnrtombs (dst, src, nwc, len, ps)
of the string. */
size_t dummy;
- data.__outbuf = dst;
- data.__outbufend = dst + len;
+ data.__outbuf = (unsigned char *) dst;
+ data.__outbufend = (unsigned char *) dst + len;
status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) src,
diff --git a/wcsmbs/wcsrtombs.c b/wcsmbs/wcsrtombs.c
index 8b444ed8a2..d41ca5366b 100644
--- a/wcsmbs/wcsrtombs.c
+++ b/wcsmbs/wcsrtombs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -105,8 +105,8 @@ __wcsrtombs (dst, src, len, ps)
const wchar_t *srcend = *src + __wcsnlen (*src, len) + 1;
size_t dummy;
- data.__outbuf = dst;
- data.__outbufend = dst + len;
+ data.__outbuf = (unsigned char *) dst;
+ data.__outbufend = (unsigned char *) dst + len;
status = DL_CALL_FCT (tomb->__fct,
(tomb, &data, (const unsigned char **) src,