mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
Update.
* time/tzfile.c (__tzfile_read): Avoid open for checking whether the file we already use changed.
This commit is contained in:
parent
d3a9cb0c26
commit
250ecb48d5
@ -1,5 +1,8 @@
|
|||||||
2004-11-20 Ulrich Drepper <drepper@redhat.com>
|
2004-11-20 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* time/tzfile.c (__tzfile_read): Avoid open for checking whether
|
||||||
|
the file we already use changed.
|
||||||
|
|
||||||
* misc/syslog.c: Remove !USE_IN_LIBIO code.
|
* misc/syslog.c: Remove !USE_IN_LIBIO code.
|
||||||
|
|
||||||
2004-11-20 Jakub Jelinek <jakub@redhat.com>
|
2004-11-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
@ -149,27 +149,30 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
|
|||||||
file = new;
|
file = new;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If we were already using tzfile, check whether the file changed. */
|
||||||
|
struct stat64 st;
|
||||||
|
if (was_using_tzfile
|
||||||
|
&& stat64 (file, &st) == 0
|
||||||
|
&& tzfile_ino == st.st_ino && tzfile_dev == st.st_dev
|
||||||
|
&& tzfile_mtime == st.st_mtime)
|
||||||
|
{
|
||||||
|
/* Nothing to do. */
|
||||||
|
__use_tzfile = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Note the file is opened with cancellation in the I/O functions
|
/* Note the file is opened with cancellation in the I/O functions
|
||||||
disabled. */
|
disabled. */
|
||||||
f = fopen (file, "rc");
|
f = fopen (file, "rc");
|
||||||
if (f == NULL)
|
if (f == NULL)
|
||||||
goto ret_free_transitions;
|
goto ret_free_transitions;
|
||||||
|
|
||||||
/* Get information about the file. */
|
/* Get information about the file we are actually using. */
|
||||||
struct stat64 st;
|
|
||||||
if (fstat64 (fileno (f), &st) != 0)
|
if (fstat64 (fileno (f), &st) != 0)
|
||||||
{
|
{
|
||||||
fclose (f);
|
fclose (f);
|
||||||
goto ret_free_transitions;
|
goto ret_free_transitions;
|
||||||
}
|
}
|
||||||
if (was_using_tzfile && tzfile_ino == st.st_ino && tzfile_dev == st.st_dev
|
|
||||||
&& tzfile_mtime == st.st_mtime)
|
|
||||||
{
|
|
||||||
/* It's the same file. No further work needed. */
|
|
||||||
fclose (f);
|
|
||||||
__use_tzfile = 1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
free ((void *) transitions);
|
free ((void *) transitions);
|
||||||
transitions = NULL;
|
transitions = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user