From 7a9a26813e387c4c6f73635bd04a005cfc0e2c08 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 24 Jul 2002 11:18:48 +0000 Subject: [PATCH] Update. 2002-07-22 Philip Blundell * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias definiton of _old_sys_nerr. Define _old_sys_errlist as strong alias. --- ChangeLog | 6 ++++++ libio/bug-fseek.c | 29 +++++++++++++++++++++++++++ manual/message.texi | 27 ++++++------------------- sysdeps/unix/sysv/linux/arm/errlist.c | 5 ++--- 4 files changed, 43 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index bfa4550724..1a4d0605a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-07-22 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias + definiton of _old_sys_nerr. Define _old_sys_errlist as strong + alias. + 2002-07-24 Ulrich Drepper * locale/hashval.h: Make more self-containedby defining LONG_BITS. diff --git a/libio/bug-fseek.c b/libio/bug-fseek.c index d8cd712f6a..1b60580b53 100644 --- a/libio/bug-fseek.c +++ b/libio/bug-fseek.c @@ -90,5 +90,34 @@ Got %d instead\n", fclose (f); + + if ((f = fopen (fname, "r+")) == (FILE *) NULL) + { + perror ("fopen(\"r+\")"); + } + + fread (buf, 3, 1, f); + if (ftell (f) != 3) + { + puts ("ftell failed"); + return 1; + } + errno = 0; + if (fseek (f, -10, SEEK_CUR) == 0) + { + printf ("fseek() for r+ to before start of file worked!\n"); + result = 1; + } + else if (errno != EINVAL) + { + printf ("\ +fseek() for r+ to before start of file did not set errno to EINVAL. \ +Got %d instead\n", + errno); + result = 1; + } + + fclose (f); + return result; } diff --git a/manual/message.texi b/manual/message.texi index b55d9ae681..6b323e476d 100644 --- a/manual/message.texi +++ b/manual/message.texi @@ -1688,41 +1688,26 @@ of the environment variable. It can split the value is different pieces and by leaving out the only or the other part it can construct new values. This happens of course in a predictable way. To understand this one must know the format of the environment variable value. There -are two more or less standardized forms: +is one more or less standardized form, originally from the X/Open +specification: -@table @emph -@item X/Open Format @code{language[_territory[.codeset]][@@modifier]} -@item CEN Format (European Community Standard) -@code{language[_territory][+audience][+special][,[sponsor][_revision]]} -@end table - -The functions will automatically recognize which format is used. Less -specific locale names will be stripped of in the order of the following -list: +Less specific locale names will be stripped of in the order of the +following list: @enumerate @item -@code{revision} -@item -@code{sponsor} -@item -@code{special} -@item @code{codeset} @item @code{normalized codeset} @item @code{territory} @item -@code{audience}/@code{modifier} +@code{modifier} @end enumerate -From the last entry one can see that the meaning of the @code{modifier} -field in the X/Open format and the @code{audience} format have the same -meaning. Beside one can see that the @code{language} field for obvious -reasons never will be dropped. +The @code{language} field will never be dropped for obvious reasons. The only new thing is the @code{normalized codeset} entry. This is another goodie which is introduced to help reducing the chaos which diff --git a/sysdeps/unix/sysv/linux/arm/errlist.c b/sysdeps/unix/sysv/linux/arm/errlist.c index ba5e699eed..ba8c44b88c 100644 --- a/sysdeps/unix/sysv/linux/arm/errlist.c +++ b/sysdeps/unix/sysv/linux/arm/errlist.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,10 +38,9 @@ extern const char *const *__old_sys_errlist; const int __old_sys_nerr = OLD_ERRLIST_SIZE; strong_alias (__old_sys_nerr, _old_sys_nerr); -weak_alias (__old_sys_nerr, _old_sys_nerr) compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); -weak_alias (__old_sys_errlist, _old_sys_errlist); +strong_alias (__old_sys_errlist, _old_sys_errlist); compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); #endif