From 33776f88dc7a21766cda77b39d94c1b57a18ddc2 Mon Sep 17 00:00:00 2001 From: dwmalone Date: Thu, 24 Jan 2002 12:11:31 +0000 Subject: Change brk's prototype from char *brk(const char *) to int brk(const void *) and sbrk's prototype from char *sbrk(int) to void *sbrk(intptr_t). This makes us more consistant with NetBSD and standards which include these functions. Bruce pointed out that ptrdiff_t would probably have been better than intptr_t, but this doesn't match other implimentations. Also remove local declarations of sbrk and unnecessary casting. PR: 32296 Tested by: Harti Brandt MFC after: 1 month --- include/unistd.h | 4 ++-- lib/libc/sys/brk.2 | 22 +++++++--------------- libexec/rtld-aout/rtld.c | 2 +- libexec/rtld-elf/malloc.c | 1 - 4 files changed, 10 insertions(+), 19 deletions(-) diff --git a/include/unistd.h b/include/unistd.h index 37dab67..56e9de3 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -118,7 +118,7 @@ struct timeval; /* select(2) */ #endif int acct __P((const char *)); int async_daemon __P((void)); -char *brk __P((const char *)); +int brk __P((const void *)); int chroot __P((const char *)); size_t confstr __P((int, char *, size_t)); char *crypt __P((const char *, const char *)); @@ -187,7 +187,7 @@ pid_t rfork_thread __P((int, void *, int (*)(void *), void *)); int rresvport __P((int *)); int rresvport_af __P((int *, int)); int ruserok __P((const char *, int, const char *, const char *)); -char *sbrk __P((int)); +void *sbrk __P((intptr_t)); int select __P((int, fd_set *, fd_set *, fd_set *, struct timeval *)); int setdomainname __P((const char *, int)); int setegid __P((gid_t)); diff --git a/lib/libc/sys/brk.2 b/lib/libc/sys/brk.2 index ac3a8d8..2683fb4 100644 --- a/lib/libc/sys/brk.2 +++ b/lib/libc/sys/brk.2 @@ -42,11 +42,12 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS +.In sys/types.h .In unistd.h -.Ft char * -.Fn brk "const char *addr" -.Ft char * -.Fn sbrk "int incr" +.Ft int +.Fn brk "const void *addr" +.Ft void * +.Fn sbrk "intptr_t incr" .Sh DESCRIPTION .Bf -symbolic The @@ -116,22 +117,13 @@ value is returned from a call to for the definition of .Va etext ) . .Sh RETURN VALUES -The -.Fn brk -function returns -.Po Vt "char *" Pc Ns 0 -if successful; -otherwise the value -.Po Vt "char *" Pc Ns \-1 -is returned and the global variable -.Va errno -is set to indicate the error. +.Rv -std brk .Pp The .Fn sbrk function returns the prior break value if successful; otherwise the value -.Po Vt "char *" Pc Ns \-1 +.Po Vt "void *" Pc Ns \-1 is returned and the global variable .Va errno is set to indicate the error. diff --git a/libexec/rtld-aout/rtld.c b/libexec/rtld-aout/rtld.c index 7f0908b..6769fa1 100644 --- a/libexec/rtld-aout/rtld.c +++ b/libexec/rtld-aout/rtld.c @@ -2518,7 +2518,7 @@ malloc(size) newbrk = (char *) roundup2((unsigned long)rtld_alloc_lev, PAGSIZ); - if (brk(newbrk) == (char *)-1) + if (brk(newbrk) == -1) return NULL; } diff --git a/libexec/rtld-elf/malloc.c b/libexec/rtld-elf/malloc.c index cb00a20..1e0664c 100644 --- a/libexec/rtld-elf/malloc.c +++ b/libexec/rtld-elf/malloc.c @@ -119,7 +119,6 @@ union overhead { */ #define NBUCKETS 30 static union overhead *nextf[NBUCKETS]; -extern char *sbrk(); static int pagesz; /* page size */ static int pagebucket; /* page size bucket */ -- cgit v1.1