+Sun Jan 28 17:25:38 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
+ make C++ happy.
+ * alpha/jmp_buf.h: Likewise.
+ * m68k/jmp_buf.h: Likewise.
+ * mips/jmp_buf.h: Likewise.
+ * sparc/jmp_buf.h: Likewise.
+ * vax/jmp_buf.h: Likewise.
+
+ * sysdeps/generic/memmem.c: Fix return value in case where
+ NEEDLE_LEN==0.
+
+ * hurd/hurdlookup.c (__file_name_lookup_under,
+ __file_name_lookup): Restrict mode with umask.
+ * sysdeps/mach/hurd/xmknod.c: Restrict mode with umask.
+ * sysdeps/mach/hurd/mkdir.c: Restrict mode with umask.
+
Fri Jan 26 12:20:45 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdlib/strtol.c: Undo last change. ANSI C changed since the
-/* Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1993, 1994, 1995, 1996 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
file_t result;
err = __hurd_file_name_lookup (&_hurd_ports_use, &__getdport,
- file_name, flags, mode,
+ file_name, flags, mode & ~_hurd_umask,
&result);
return err ? (__hurd_fail (err), MACH_PORT_NULL) : result;
}
err = __hurd_file_name_lookup (&use_init_port, &__getdport,
- file_name, flags, mode,
+ file_name, flags, mode & ~_hurd_umask,
&result);
return err ? (__hurd_fail (err), MACH_PORT_NULL) : result;
-/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96 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
#include <sigset.h> /* Get `__sigset_t'. */
/* Calling environment, plus possibly a saved signal mask. */
-typedef struct
+typedef struct __jmp_buf /* C++ doesn't like tagless structs. */
{
/* NOTE: The machine-dependent definitions of `__sigsetjmp'
assume that a `jmp_buf' begins with a `__jmp_buf'.
The ANSI C standard says `setjmp' is a macro. */
#define setjmp(env) __sigsetjmp ((env), 0)
#else
-/* We are in 4.3 BSD-compatibility mode in which `setjmp'
+/* We are in 4.3 BSD-compatibility mode in which `setjmp'
saves the signal mask like `sigsetjmp (ENV, 1)'. */
#define setjmp(env) __sigsetjmp ((env), 1)
#endif /* Favor BSD. */
-/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1994, 1996 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
= (CONST char *) haystack + haystack_len - needle_len;
if (needle_len == 0)
- return (PTR) &((CONST char *) haystack)[needle_len - 1];
+ /* The first occurrence of the empty string is deemed to occur at
+ the end of the string. */
+ return (PTR) &((CONST char *) haystack)[haystack_len - 1];
for (begin = (CONST char *) haystack; begin <= last_possible; ++begin)
if (begin[0] == ((CONST char *) needle)[0] &&
-/* Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1994, 1995, 1996 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
file_t parent = __file_name_split (file_name, (char **) &name);
if (parent == MACH_PORT_NULL)
return -1;
- err = __dir_mkdir (parent, name, mode);
+ err = __dir_mkdir (parent, name, mode & ~_hurd_umask);
__mach_port_deallocate (__mach_task_self (), parent);
if (err)
return __hurd_fail (err);
return -1;
/* Create a new, unlinked node in the target directory. */
- err = __dir_mkfile (dir, O_WRITE, mode & ~S_IFMT & _hurd_umask, &node);
+ err = __dir_mkfile (dir, O_WRITE, (mode & ~S_IFMT) & ~_hurd_umask, &node);
if (! err)
/* Set the node's translator to make it a device. */