summaryrefslogtreecommitdiff
path: root/misc/mntent_r.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-04 08:27:37 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-04 08:27:37 +0000
commitee8449f7293a20a2a971ecdbf3d31129a281dee4 (patch)
treef25aa0962ffe3adf5afc014d61a9db0f8153c5c3 /misc/mntent_r.c
parent58e8ec84f450f5f4eb00f4c445de9562bfa359e9 (diff)
Update.
2003-09-04 Ulrich Drepper <drepper@redhat.com> * libio/libio.h: Define _IO_FLAGS2_NOTCANCEL. * libio/fileops.c [_LIBC]: Remove close macro. (_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel. (_IO_new_file_open): Recognize 'c' flag in mode string. (_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel. (_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use write_not_cancel. * iconv/gconv_conf.c: Use fopen with 'c' mode flag. * inet/rcmd.c: Likewise. * inet/ruserpass.c: Likewise. * intl/localealias.c: Likewise. * malloc/mtrace.c: Likewise. * misc/getpass.c: Likewise. * misc/getttyent.c: Likewise. * misc/mntent_r.c: Likewise. * misc/getusershell.c: Likewise. * nss/nsswitch.c: Likewise. * resolv/res_hconf.c: Likewise. * resolv/res_init.c: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. * time/getdate.c: Likewise. * time/tzfile.c: Likewise. * misc/fstab.h: Undo last change. * misc/mntent.h: Likewise. * misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and CFLAGS-fstab.c definition. 2003-09-04 Jakub Jelinek <jakub@redhat.com> 2003-09-03 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'misc/mntent_r.c')
-rw-r--r--misc/mntent_r.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 7a394186d4..9bfe8756f1 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -1,5 +1,5 @@
/* Utilities for reading/writing fstab, mtab, etc.
- Copyright (C) 1995-2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995-2000, 2001, 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
@@ -38,7 +38,12 @@
FILE *
__setmntent (const char *file, const char *mode)
{
- FILE *result = fopen (file, mode);
+ /* Extend the mode parameter with "c" to disable cancellation in the
+ I/O functions. */
+ size_t modelen = strlen (mode);
+ char newmode[modelen + 2];
+ memcpy (mempcpy (newmode, mode, modelen), "c", 2);
+ FILE *result = fopen (file, newmode);
if (result != NULL)
/* We do the locking ourselves. */