diff options
| author | Ulrich Drepper <drepper@redhat.com> | 1997-08-04 14:31:26 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 1997-08-04 14:31:26 +0000 |
| commit | 55c14926be46b12fda4e01d0977911d3b0883db7 (patch) | |
| tree | 2bb9829379008a2d0d59bb849d12f2491624c1fb | |
| parent | 8f2ece695d8822e9ecc63ecd157e90bf17a6fe65 (diff) | |
| download | glibc-55c14926be46b12fda4e01d0977911d3b0883db7.tar.xz glibc-55c14926be46b12fda4e01d0977911d3b0883db7.zip | |
Update.cvs/libc-ud-970804
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
43 files changed, 1464 insertions, 205 deletions
@@ -1,7 +1,7 @@ List of known bugs (certainly very incomplete) ---------------------------------------------- -Time-stamp: <1997-08-01T05:37:51+0200 drepper> +Time-stamp: <1997-08-04T00:50:04+0200 drepper> This following list contains those bugs which I'm aware of. Please make sure that bugs you report are not listed here. If you can fix one @@ -23,20 +23,8 @@ in this database as useful as possible please report bugs always using the Severity: [ *] to [***] -[ **] For GNU libc on Linux, there is still no solution for the UTMP - problem. - [Among others: PR libc/39] - [ **] There are problems with signal handling when using LinuxThreads. -[ **] The `cbrtl' function for ix86 does not work in the moment. - -[ **] Not really a bug, but it could lead to such: - The RPC code is ugly ugly ugly. It's more or less verbatim taken - from Sun's code and therefore mostly lacks complete prototypes and - (more important) the use of `const'. It *definitely* needs to be - cleaned. - [ *] The precision of the `sinhl' and/or `asinhl' function do not seem to be the best. @@ -56,6 +44,14 @@ Severity: [ *] to [***] symbols in <linux/limits.h> available. [PR libc/140] +[ *] The localedef program should not generate errors if for categories + which are not used for the output there are characters referenced + which are not defined in the charmap. + [PR libc/229] + +[ *] The rcmd() functions (more concrete: the handling of .rhosts) does + not support netgroups and wildcards (+). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ulrich Drepper drepper@cygnus.com @@ -1,3 +1,108 @@ +1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com> + + * locale/programs/localedef.c (main): Set bit in avail for those + categories which are successfully read. + * locale/programs/locfile.c (check_all_categories): Don't check + categories if they are not available. + (write_all_categories): Don't write categories if they are not + available. + + * login/setutent_r.c (setutent_unknown): Change return type to + int and return result of called function. + + * manual/arith.texi: Mark floating-point test macro from ISO C 9X + as macros (not functions). + * manual/libc.texinfo (UPDATED): Update. + * manual/math.texi: Document exceptions, functions to handle + exceptions, mathematical constants, FP comparison functions + and several new functions from ISO C 9X. + Change parameter of drand48, lrand48, and mrand48 to void (not + empty). + * manual/pattern.texi: Remove paragraph which explained that wordexp + is executed by running a shell. + * manual/time.texi: Explain difficulties with strftime if the + functions returns 0 and no error occurred. + + * math/math.h: Correct comment for some M_* constants. + (isgreater, isgreaterequal, isless, islessequal, islessgreater, + inunordered): Rewrite to make sure the arguments are evaluated + exactly once. + + * nis/rpcsvc/nis.x: Undo last change. + * nis/rpcsvc/nis.h: Likewise. + * nis/rpcsvc/nislib.h: File moved back to here. + + * posix/sys/types.h: Don't define socklen_t. Pretty print. + * socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom, + getsockopt, setsockopt, accept): Change size argument to type + socklen_t. + Pretty print. + * manual/socket.texi: Describe socklen_t and change prototypes of + socket functions to use socklen_t. + * sysdeps/generic/bits/socket.h: Define socklen_t. + (struct msghdr): Correct types to use socklen_t. + * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. + + * stdio-common/printf_fp.c (__printf_fp): Correct rouding of number + 1.0 < x < 8.0. + * stdio-common/tfformat.c: Add new tests for above bug. + + * stdlib/strtod.c: Fix typo. + + * string/Makefile (headers): Add bits/string.h. + (CFLAGS-*): Add -D__NO_STRING_INLINES. + * string/string.h: Include <bits/string.h> if optimizing and + __NO_STRING_INLINES is not defined. + * sysdeps/stub/bits/string.h: New file. + + * sysdeps/powerpc/bits/fenv.h: Fix typos. + + * sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS + if SIOGIFINDEX is not defined. + + * sysdeps/wordsize-32/inttypes.h: Pretty print. + * sysdeps/wordsize-64/inttypes.h: Pretty print. + + * termios/cfsetspeed.c: Rewrite loop to do what it shall do. + + * wcsmbs/Makefile (tests): Add tst-wcstof. + * wcsmbs/tst-wcstof.c: New file. + +1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * sysdeps/m68k/__longjmp.c: Replace call to abort by infinite + loop, to avoid dragging stdio into the dynamic linker. + +1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu> + + * nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them + u_int32_t. + +1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and + __getpwuid_r. + Include <stdio.h> to get prototypes of *printf. + (exec_comm): Remove unneeded variable *sh. + + * libc.map: Add wordexp, wordfree. + + * posix/Makefile (routines): Add wordexp. + +1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * posix/wordexp.c: Correct typo in comment. + (wordexp): Likewise. + + * manual/errno.texi (Error Codes): Fix typo. + +1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com> + + * csu/initfini.c (SECTION): Don't put quotes around section name + since this is not understood by all assemblers. + Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>. + 1997-08-02 21:27 Ulrich Drepper <drepper@cygnus.com> * inet/Makefile (headers): Rename netinet/inbits.h to bits/in.h. diff --git a/bits/socket.h b/bits/socket.h index d12d96cc14..af42dfac78 100644 --- a/bits/socket.h +++ b/bits/socket.h @@ -24,11 +24,14 @@ #include <features.h> -__BEGIN_DECLS - #define __need_size_t #include <stddef.h> +__BEGIN_DECLS + +/* Type for length arguments in socket calls. */ +typedef unsigned int socklen_t; + /* Types of sockets. */ enum __socket_type @@ -145,13 +148,15 @@ enum struct msghdr { __ptr_t msg_name; /* Address to send to/receive from. */ - size_t msg_namelen; /* Length of address data. */ + socklen_t msg_namelen; /* Length of address data. */ struct iovec *msg_iov; /* Vector of data to send/receive into. */ - size_t msg_iovlen; /* Number of elements in the vector. */ + int msg_iovlen; /* Number of elements in the vector. */ __ptr_t msg_accrights; /* Access rights information. */ - size_t msg_accrightslen; /* Length of access rights information. */ + socklen_t msg_accrightslen; /* Length of access rights information. */ + + int msg_flags; /* Flags in received message. */ }; diff --git a/csu/initfini.c b/csu/initfini.c index 6906c901c4..8f8ce2f707 100644 --- a/csu/initfini.c +++ b/csu/initfini.c @@ -40,7 +40,7 @@ /* We use embedded asm for .section unconditionally, as this makes it easier to insert the necessary directives into crtn.S. */ -#define SECTION(x) asm (".section \"" x "\""); +#define SECTION(x) asm (".section " x ); /* Embed an #include to pull in the alignment and .end directives. */ asm ("\n#include \"defs.h\""); @@ -374,7 +374,11 @@ GLIBC_2.0 { wcstoul; wcstoull; wcstouq; wcswcs; wcswidth; wcsxfrm; wctob; wctomb; wctrans; wctype; wcwidth; - wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset; write; writev; + wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset; + + wordexp; wordfree; + + write; writev; # x* xdecrypt; xdr_accepted_reply; xdr_array; xdr_authdes_cred; diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c index 34c7394d3d..206246944f 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c @@ -234,8 +234,11 @@ main (int argc, char *argv[]) { avail = act_add_locdef->locale->categories[cat].generic != NULL; if (avail) - localedef->categories[cat].generic - = act_add_locdef->locale->categories[cat].generic; + { + localedef->categories[cat].generic + = act_add_locdef->locale->categories[cat].generic; + localedef->avail |= 1 << cat; + } } if (! avail) diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c index aecc8913e2..7749f6aebc 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -920,17 +920,23 @@ void check_all_categories (struct localedef_t *locale, struct charset_t *charset) { /* Call the finishing functions for all locales. */ - if ((locale->binary & (1 << LC_CTYPE)) == 0) + if ((locale->avail & (1 << LC_CTYPE)) != 0 + && (locale->binary & (1 << LC_CTYPE)) == 0) ctype_finish (locale, charset); - if ((locale->binary & (1 << LC_COLLATE)) == 0) + if ((locale->avail & (1 << LC_COLLATE)) != 0 + && (locale->binary & (1 << LC_COLLATE)) == 0) collate_finish (locale, charset); - if ((locale->binary & (1 << LC_MONETARY)) == 0) + if ((locale->avail & (1 << LC_MONETARY)) != 0 + && (locale->binary & (1 << LC_MONETARY)) == 0) monetary_finish (locale); - if ((locale->binary & (1 << LC_NUMERIC)) == 0) + if ((locale->avail & (1 << LC_NUMERIC)) != 0 + && (locale->binary & (1 << LC_NUMERIC)) == 0) numeric_finish (locale); - if ((locale->binary & (1 << LC_TIME)) == 0) + if ((locale->avail & (1 << LC_TIME)) != 0 + && (locale->binary & (1 << LC_TIME)) == 0) time_finish (locale); - if ((locale->binary & (1 << LC_MESSAGES)) == 0) + if ((locale->avail & (1 << LC_MESSAGES)) != 0 + && (locale->binary & (1 << LC_MESSAGES)) == 0) messages_finish (locale); } @@ -940,12 +946,18 @@ write_all_categories (struct localedef_t *locale, struct charset_t *charset, const char *output_path) { /* Call all functions to write locale data. */ - ctype_output (locale, charset, output_path); - collate_output (locale, charset, output_path); - monetary_output (locale, output_path); - numeric_output (locale, output_path); - time_output (locale, output_path); - messages_output (locale, output_path); + if ((locale->avail & (1 << LC_CTYPE)) != 0) + ctype_output (locale, charset, output_path); + if ((locale->avail & (1 << LC_COLLATE)) != 0) + collate_output (locale, charset, output_path); + if ((locale->avail & (1 << LC_MONETARY)) != 0) + monetary_output (locale, output_path); + if ((locale->avail & (1 << LC_NUMERIC)) != 0) + numeric_output (locale, output_path); + if ((locale->avail & (1 << LC_TIME)) != 0) |
