mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
2001-04-05 David S. Miller <davem@redhat.com> Add hp-timing support for sparcv9/sparc64 targets. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: New file * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: New file * sysdeps/sparc/sparc64/hp-timing.c: New file * sysdeps/sparc/sparc64/hp-timing.h: New file * sysdeps/sparc/sparc32/sparcv9/Makefile: Build hp-timing. * sysdeps/sparc/sparc64/Makefile: Likewise. 2001-04-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/fd_to_filename.h: New file. * sysdeps/unix/sysv/linux/fd_to_filename.h: New file. * libio/freopen.c (freopen): If FILENAME is NULL, try to get filename from the open file descriptor. * libio/freopen64.c (freopen64): Likewise. 2001-04-09 Bruno Haible <haible@clisp.cons.org> * misc/error.c (error): fflush stdout also if error_print_progname != NULL. (error_at_line): Likewise. 2001-04-07 Bruno Haible <haible@clisp.cons.org> * intl/gettextP.h (struct loaded_domain): Add codeset_cntr field. (struct binding): Add codeset_cntr field. (_nl_load_domain): Add domainbinding argument. (_nl_init_domain_conv, _nl_free_domain_conv): New declarations. (_nl_find_msg): New declaration, moved here from loadinfo.h. * intl/loadinfo.h (struct loaded_l10nfile): Remove domainbinding field. (_nl_make_l10nflist): Remove domainbinding argument. (_nl_find_msg): Move declaration to gettextP.h. * intl/bindtextdom.c (set_binding_values): Initialize ->codeset_cntr to 0. Increment it when ->codeset is changed. * intl/dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg. (_nl_find_msg): Add domainbinding argument. Reinitialize the converter if domainbinding->codeset_cntr has been incremented. * intl/finddomain.c (_nl_find_domain): Don't pass domainbinding to _nl_make_l10nflist(). Pass it to _nl_load_domain() instead. * intl/l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument. * intl/loadmsgcat.c (_nl_init_domain_conv): New function, extracted from _nl_load_domain. Append //TRANSLIT also when using libiconv. (_nl_free_domain_conv): New function, extracted from _nl_unload_domain. (_nl_load_domain): Add domainbinding argument. Call _nl_init_domain_conv. (_nl_unload_domain): Call _nl_free_domain_conv. * intl/Makefile (distribute): Add tst-codeset.sh, tstcodeset.po. (test-srcs): Add tst-codeset. (tests): Depend on tst-codeset.out. (tst-codeset.out): New rule. (CFLAGS-tst-codeset.c): New variable. * intl/tst-codeset.sh: New file. * intl/tstcodeset.po: New file. * intl/tst-codeset.c: New file. * locale/findlocale.c (_nl_find_locale): Update _nl_make_l10nflist calls.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993,95,96,97,98,2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993,95,96,97,98,2000,2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU IO Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
@ -27,6 +27,7 @@
|
||||
#include "stdio.h"
|
||||
|
||||
#include <shlib-compat.h>
|
||||
#include <fd_to_filename.h>
|
||||
|
||||
FILE*
|
||||
freopen (filename, mode, fp)
|
||||
@ -35,11 +36,18 @@ freopen (filename, mode, fp)
|
||||
FILE* fp;
|
||||
{
|
||||
FILE *result;
|
||||
int fd = -1;
|
||||
CHECK_FILE (fp, NULL);
|
||||
if (!(fp->_flags & _IO_IS_FILEBUF))
|
||||
return NULL;
|
||||
_IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
|
||||
_IO_flockfile (fp);
|
||||
if (filename == NULL && _IO_fileno (fp) >= 0)
|
||||
{
|
||||
fd = dup (_IO_fileno (fp));
|
||||
if (fd != -1)
|
||||
filename = fd_to_filename (fd);
|
||||
}
|
||||
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
|
||||
if (&_IO_stdin_used == NULL)
|
||||
/* If the shared C library is used by the application binary which
|
||||
@ -54,6 +62,12 @@ freopen (filename, mode, fp)
|
||||
if (result != NULL)
|
||||
/* unbound stream orientation */
|
||||
result->_mode = 0;
|
||||
if (fd != -1)
|
||||
{
|
||||
close (fd);
|
||||
if (filename != NULL)
|
||||
free ((char *) filename);
|
||||
}
|
||||
_IO_funlockfile (fp);
|
||||
_IO_cleanup_region_end (0);
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user