aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'locale/loadarchive.c')
-rw-r--r--locale/loadarchive.c13
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.