* io/Makefile (routines): Add mknod, xstat fxstat lxstat xmknod. cvs/libc-960119
authorRoland McGrath <roland@gnu.org>
Fri, 19 Jan 1996 10:00:23 +0000 (10:00 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 19 Jan 1996 10:00:23 +0000 (10:00 +0000)
* sysdeps/unix/sysv/linux/ptrace.c: Use ... decl, and stdarg.h to
get args.

* posix/glob.c (_GNU_SOURCE): Define if undefined, so glob.h
defines GNU extensions.
* posix/fnmatch.c: Likewise.

ChangeLog
io/Makefile
posix/fnmatch.c
posix/glob.c
sysdeps/unix/sysv/linux/ptrace.c

index 93a726d..47e8d7e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 Thu Jan 18 00:32:43 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+       * io/Makefile (routines): Add mknod, xstat fxstat lxstat xmknod.
+
+       * sysdeps/unix/sysv/linux/ptrace.c: Use ... decl, and stdarg.h to
+       get args.
+
+       * posix/glob.c (_GNU_SOURCE): Define if undefined, so glob.h
+       defines GNU extensions.
+       * posix/fnmatch.c: Likewise.
+
        Replaced all simple system call files *.S throughout sysdeps/unix
        with syscalls.list files to be processed by make-syscalls.sh.
        * sysdeps/unix/s-proto.S: New file.
index c484e40..cf8d21b 100644 (file)
@@ -1,4 +1,4 @@
-# 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
@@ -29,7 +29,8 @@ headers := sys/stat.h statbuf.h \
 routines :=                                                          \
        utime                                                         \
        mkfifo                                                        \
-       stat fstat lstat                                              \
+       stat fstat lstat mknod                                        \
+       xstat fxstat lxstat xmknod                                    \
        umask chmod fchmod mkdir                                      \
        open close read write lseek access euidaccess                 \
        fcntl flock lockf                                             \
index 1ef5599..1ddea80 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Library General Public License as
@@ -19,6 +19,11 @@ Cambridge, MA 02139, USA.  */
 #include <config.h>
 #endif
 
+/* Enable GNU extensions in fnmatch.h.  */
+#ifndef _GNU_SOURCE
+#define        _GNU_SOURCE     1
+#endif
+
 #include <errno.h>
 #include <fnmatch.h>
 #include <ctype.h>
index 259ac02..d628b84 100644 (file)
@@ -24,6 +24,11 @@ Cambridge, MA 02139, USA.  */
 #include <config.h>
 #endif
 
+/* Enable GNU extensions in glob.h.  */
+#ifndef _GNU_SOURCE
+#define        _GNU_SOURCE     1
+#endif
+
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
index 2c04830..32cc990 100644 (file)
@@ -17,16 +17,28 @@ not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 #include <errno.h>
+#include <sys/types.h>
 #include <sys/ptrace.h>
-#include <sys/syscall.h>
+#include <stdarg.h>
+
+extern int __syscall_ptrace (int, pid_t, void *, void *);
 
 int
-ptrace (int request, int pid, int addr, int data)
+ptrace (enum __ptrace_request request, ...)
 {
-  long int ret;
-  long int res;
+  int res, ret;
+  va_list ap;
+  pid_t pid;
+  void *addr, *data;
+
+  va_start (ap, request);
+  pid = va_arg (ap, pid_t);
+  addr = va_arg (ap, void *);
+  data = va_arg (ap, void *);
+  va_end (ap);
+
   if (request > 0 && request < 4)
-    (long int *) data = &ret;
+    data = &ret;
 
   res = __syscall_ptrace (request, pid, addr, data);
 
@@ -35,9 +47,9 @@ ptrace (int request, int pid, int addr, int data)
       if (request > 0 && request < 4)
        {
          errno = 0;
-         return (ret);
+         return ret;
        }
-      return (int) res;
+      return res;
     }
 
   errno = -res;