diff options
Diffstat (limited to 'locale/loadarchive.c')
-rw-r--r-- | locale/loadarchive.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/locale/loadarchive.c b/locale/loadarchive.c index 3fddc7d05b..80bab9e7c9 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -1,5 +1,5 @@ /* Code to load locale data from the locale archive file. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 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 @@ -32,6 +32,7 @@ #include "localeinfo.h" #include "locarchive.h" +#include <not-cancel.h> /* Define the hash function. We define the function as static inline. */ #define compute_hashval static inline compute_hashval @@ -202,7 +203,7 @@ _nl_load_locale_from_archive (int category, const char **namep) archmapped = &headmap; /* The archive has never been opened. */ - fd = __open64 (archfname, O_RDONLY); + fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE); if (fd < 0) /* Cannot open the archive, for whatever reason. */ return NULL; @@ -212,7 +213,7 @@ _nl_load_locale_from_archive (int category, const char **namep) /* stat failed, very strange. */ close_and_out: if (fd >= 0) - __close (fd); + close_not_cancel_no_status (fd); return NULL; } @@ -252,7 +253,7 @@ _nl_load_locale_from_archive (int category, const char **namep) { /* We've mapped the whole file already, so we can be sure we won't need this file descriptor later. */ - __close (fd); + close_not_cancel_no_status (fd); fd = -1; } @@ -393,7 +394,7 @@ _nl_load_locale_from_archive (int category, const char **namep) if (fd == -1) { struct stat64 st; - fd = __open64 (archfname, O_RDONLY); + fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE); if (fd == -1) /* Cannot open the archive, for whatever reason. */ return NULL; @@ -446,7 +447,7 @@ _nl_load_locale_from_archive (int category, const char **namep) /* We don't need the file descriptor any longer. */ if (fd >= 0) - __close (fd); + close_not_cancel_no_status (fd); fd = -1; /* We succeeded in mapping all the necessary regions of the archive. |