From ee8449f7293a20a2a971ecdbf3d31129a281dee4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 4 Sep 2003 08:27:37 +0000 Subject: Update. 2003-09-04 Ulrich Drepper * 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 2003-09-03 Ulrich Drepper --- misc/mntent_r.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'misc/mntent_r.c') diff --git a/misc/mntent_r.c b/misc/mntent_r.c index 7a39418..9bfe875 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. */ -- cgit v1.1