From 97aa195cf78ad62825df0e381f20df1ea227ec18 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 19 Jan 1996 10:00:23 +0000 Subject: * 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. --- sysdeps/unix/sysv/linux/ptrace.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'sysdeps/unix/sysv/linux') diff --git a/sysdeps/unix/sysv/linux/ptrace.c b/sysdeps/unix/sysv/linux/ptrace.c index 2c04830c42..32cc990119 100644 --- a/sysdeps/unix/sysv/linux/ptrace.c +++ b/sysdeps/unix/sysv/linux/ptrace.c @@ -17,16 +17,28 @@ not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include +#include #include -#include +#include + +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; -- cgit v1.2.3