Libraries updates and cleanup

* Updating common/lib
 * Updating lib/csu
 * Updating lib/libc
 * Updating libexec/ld.elf_so
 * Corrected test on __minix in featuretest to actually follow the
   meaning of the comment.
 * Cleaned up _REENTRANT-related defintions.
 * Disabled -D_REENTRANT for libfetch
 * Removing some unneeded __NBSD_LIBC defines and tests

Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
This commit is contained in:
2012-11-15 12:06:41 +01:00
parent f6aac1c3b5
commit f14fb60209
1285 changed files with 44244 additions and 14308 deletions

View File

@@ -1,4 +1,4 @@
/* $NetBSD: fvwrite.c,v 1.21 2009/10/25 20:44:13 christos Exp $ */
/* $NetBSD: fvwrite.c,v 1.25 2012/03/27 15:05:42 christos Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -37,11 +37,12 @@
#if 0
static char sccsid[] = "@(#)fvwrite.c 8.1 (Berkeley) 6/4/93";
#else
__RCSID("$NetBSD: fvwrite.c,v 1.21 2009/10/25 20:44:13 christos Exp $");
__RCSID("$NetBSD: fvwrite.c,v 1.25 2012/03/27 15:05:42 christos Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
#include <assert.h>
#include <stddef.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
@@ -57,30 +58,29 @@ __RCSID("$NetBSD: fvwrite.c,v 1.21 2009/10/25 20:44:13 christos Exp $");
* to the three different kinds of output buffering is handled here.
*/
int
__sfvwrite(fp, uio)
FILE *fp;
struct __suio *uio;
__sfvwrite(FILE *fp, struct __suio *uio)
{
int len;
size_t len;
char *p;
struct __siov *iov;
int w, s;
int s;
ssize_t w;
char *nl;
int nlknown, nldist;
size_t nlknown, nldist;
_DIAGASSERT(fp != NULL);
_DIAGASSERT(uio != NULL);
if ((int)uio->uio_resid < 0) {
if ((ssize_t)uio->uio_resid < 0) {
errno = EINVAL;
return (EOF);
return EOF;
}
if ((len = uio->uio_resid) == 0)
return (0);
if (uio->uio_resid == 0)
return 0;
/* make sure we can write */
if (cantwrite(fp)) {
errno = EBADF;
return (EOF);
return EOF;
}
#define MIN(a, b) ((a) < (b) ? (a) : (b))
@@ -103,8 +103,7 @@ __sfvwrite(fp, uio)
*/
do {
GETIOV(;);
w = (*fp->_write)(fp->_cookie, p,
(int)MIN(len, BUFSIZ));
w = (*fp->_write)(fp->_cookie, p, MIN(len, BUFSIZ));
if (w <= 0)
goto err;
p += w;
@@ -125,8 +124,8 @@ __sfvwrite(fp, uio)
do {
GETIOV(;);
if ((fp->_flags & (__SALC | __SSTR)) ==
(__SALC | __SSTR) && fp->_w < len) {
int blen = fp->_p - fp->_bf._base;
(__SALC | __SSTR) && (size_t)fp->_w < len) {
ptrdiff_t blen = fp->_p - fp->_bf._base;
unsigned char *_base;
int _size;
@@ -134,7 +133,7 @@ __sfvwrite(fp, uio)
_size = fp->_bf._size;
do {
_size = (_size << 1) + 1;
} while (_size < blen + len);
} while ((size_t)_size < blen + len);
_base = realloc(fp->_bf._base,
(size_t)(_size + 1));
if (_base == NULL)
@@ -146,29 +145,29 @@ __sfvwrite(fp, uio)
}
w = fp->_w;
if (fp->_flags & __SSTR) {
if (len < w)
if (len < (size_t)w)
w = len;
COPY(w); /* copy MIN(fp->_w,len), */
fp->_w -= w;
fp->_w -= (int)w;
fp->_p += w;
w = len; /* but pretend copied all */
} else if (fp->_p > fp->_bf._base && len > w) {
} else if (fp->_p > fp->_bf._base && len > (size_t)w) {
/* fill and flush */
COPY(w);
/* fp->_w -= w; */ /* unneeded */
fp->_p += w;
if (fflush(fp))
goto err;
} else if (len >= (w = fp->_bf._size)) {
} else if (len >= (size_t)(w = fp->_bf._size)) {
/* write directly */
w = (*fp->_write)(fp->_cookie, p, w);
w = (*fp->_write)(fp->_cookie, p, (size_t)w);
if (w <= 0)
goto err;
} else {
/* fill and done */
w = len;
COPY(w);
fp->_w -= w;
fp->_w -= (int)w;
fp->_p += w;
}
p += w;
@@ -187,11 +186,11 @@ __sfvwrite(fp, uio)
do {
GETIOV(nlknown = 0);
if (!nlknown) {
nl = memchr(p, '\n', (size_t)len);
nldist = nl ? nl + 1 - p : len + 1;
nl = memchr(p, '\n', len);
nldist = nl ? (size_t)(nl + 1 - p) : len + 1;
nlknown = 1;
}
s = MIN(len, nldist);
s = (int)MIN(len, nldist);
w = fp->_w + fp->_bf._size;
if (fp->_p > fp->_bf._base && s > w) {
COPY(w);
@@ -200,13 +199,13 @@ __sfvwrite(fp, uio)
if (fflush(fp))
goto err;
} else if (s >= (w = fp->_bf._size)) {
w = (*fp->_write)(fp->_cookie, p, w);
w = (*fp->_write)(fp->_cookie, p, (size_t)w);
if (w <= 0)
goto err;
} else {
w = s;
COPY(w);
fp->_w -= w;
fp->_w -= (int)w;
fp->_p += w;
}
if ((nldist -= w) == 0) {
@@ -219,9 +218,9 @@ __sfvwrite(fp, uio)
len -= w;
} while ((uio->uio_resid -= w) != 0);
}
return (0);
return 0;
err:
fp->_flags |= __SERR;
return (EOF);
return EOF;
}