summaryrefslogtreecommitdiff
path: root/stdio
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-03-27 22:57:26 +0000
committerUlrich Drepper <drepper@redhat.com>1998-03-27 22:57:26 +0000
commita44d23932dea41a56c4345394a973767af45cf02 (patch)
treed6d2e557b87e7291a27b1a5dd75b215a37f08408 /stdio
parentf38931a9f060a9ecb2ad544b1c2e2c80060f6724 (diff)
downloadglibc-a44d23932dea41a56c4345394a973767af45cf02.tar.gz
Update.
1998-03-27 22:46 Ulrich Drepper <drepper@cygnus.com> * Rules: Allow Makefiles to specify test-static for tests which cannot be linked dynamically. * math/Makefile: Move atest-exp, atest-sincos, atest-exp2 to tests-static. * libc.map: Add __nss_passwd_lookup, __nss_group_lookup, __nss_next. * misc/error.c: Pretty print. 1998-03-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules (libc_nonshared-name): Remove variable. (installed-libcs): Use libc-name instead. ($(inst_libdir)/libc.so): Likewise. Remove explicit reference to dynamic linker. * Makeconfig (link-libc): Link against libc_nonshared.a instead of libc.a. Remove explicit reference to dynamic linker. 1998-03-27 Ulrich Drepper <drepper@cygnus.com> * iconvdata/iso8859-1.c (gconv): Add cast to assignment from char to wchar_t. * iconv/iconv_prog.c: Correctly test for write failure. * iconvdata/Makefile: Add rules for EUC-KR, UHC, and JOHAB conversions. * iconvdata/gconv-modules: Likewise. * iconvdata/euckr.c: New file. * iconvdata/johab.c: New file. * iconvdata/ksc5601.c: New file. * iconvdata/ksc5601.h: New file. * iconvdata/uhc.c: New file. Contributed by Jungshik Shin <jshin@pantheon.yale.edu>. * libio/fileops.c (_IO_file_fopen): Interpret x flag to fopen. * stdio/fopen.c: Correct handling of 'x' flag. Reported by Jason M. Petry <jason@ps.ohio-state.edu>. 1998-03-27 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sunrpc/rpc/key_prot.h: Prevent warning by unknown pragma ident. * sunrpc/rpcsvc/key_prot.x: Likewise. * sunrpc/key_prot.c: Likewise. 1998-03-27 13:49 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/bits/string.h: Correct things which never worked. * sysdeps/i386/i486/bits/string.h: Add clobber marks. Patches by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>. 1998-03-27 Ulrich Drepper <drepper@cygnus.com> * intl/textdomain.c [_LIBC]: Define strdup only if not yet defined. Reported by Thorsten Kukuk.
Diffstat (limited to 'stdio')
-rw-r--r--stdio/fopen.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/stdio/fopen.c b/stdio/fopen.c
index 8c27a27c6f..5b77facc77 100644
--- a/stdio/fopen.c
+++ b/stdio/fopen.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 96, 97, 98 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
@@ -51,27 +51,28 @@ __getmode (const char *mode, __io_mode *mptr)
badmode ();
}
- for (i = 1; i < 3; ++i)
+ for (i = 1; i < 4; ++i)
{
- ++mode;
- if (*mode == '\0')
- break;
- switch (*mode)
+ switch (*++mode)
{
+ case '\0':
+ break;
case '+':
mptr->__read = mptr->__write = 1;
- break;
+ continue;
case 'b':
mptr->__binary = 1;
- break;
+ continue;
+ case 'x':
+ mptr->__exclusive = 1;
+ continue;
}
+ break;
}
if (!mptr->__read && !mptr->__write)
badmode ();
- mptr->__exclusive = *mode == 'x';
-
return 1;
}