summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2012-03-13 21:13:30 +0000
committerchristos <christos@NetBSD.org>2012-03-13 21:13:30 +0000
commite826745eae06e6b784fe362c9161f351d58701b0 (patch)
tree0f5432414743321324c959ae59c6cb74bd9856aa /lib/libc/stdlib
parentdc654a7d2d7cf5bb66c22d38f400a8cb6d03a45a (diff)
PR/45989: Martin Husemann: lint invocation does include -w only on i386
- turn lint -w for all the platforms after fixing the lint warnings. - add _DIAGASSERTS() for casts that would assign values to types that would not fit. - change types, add casts - change into ansii prototypes - turn on _DIAGNOSTIC for libc (during current, to be eliminated for release builds) approved by core@
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r--lib/libc/stdlib/l64a.c14
-rw-r--r--lib/libc/stdlib/merge.c34
-rw-r--r--lib/libc/stdlib/strfmon.c13
3 files changed, 27 insertions, 34 deletions
diff --git a/lib/libc/stdlib/l64a.c b/lib/libc/stdlib/l64a.c
index 68f62512699..bc78ab1ea00 100644
--- a/lib/libc/stdlib/l64a.c
+++ b/lib/libc/stdlib/l64a.c
@@ -1,4 +1,4 @@
-/* $NetBSD: l64a.c,v 1.13 2003/07/26 19:24:54 salo Exp $ */
+/* $NetBSD: l64a.c,v 1.14 2012/03/13 21:13:48 christos Exp $ */
/*
* Written by J.T. Conklin <jtc@NetBSD.org>.
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: l64a.c,v 1.13 2003/07/26 19:24:54 salo Exp $");
+__RCSID("$NetBSD: l64a.c,v 1.14 2012/03/13 21:13:48 christos Exp $");
#endif
#include "namespace.h"
@@ -22,20 +22,16 @@ __weak_alias(l64a_r,_l64a_r)
#endif
char *
-l64a (value)
- long value;
+l64a(long value)
{
static char buf[8];
- (void)l64a_r(value, buf, sizeof (buf));
+ (void)l64a_r(value, buf, (int)sizeof (buf));
return buf;
}
int
-l64a_r (value, buffer, buflen)
- long value;
- char *buffer;
- int buflen;
+l64a_r(long value, char *buffer, int buflen)
{
char *s = buffer;
int digit;
diff --git a/lib/libc/stdlib/merge.c b/lib/libc/stdlib/merge.c
index f934599b163..22c3292dbb3 100644
--- a/lib/libc/stdlib/merge.c
+++ b/lib/libc/stdlib/merge.c
@@ -1,4 +1,4 @@
-/* $NetBSD: merge.c,v 1.13 2011/05/18 19:36:36 dsl Exp $ */
+/* $NetBSD: merge.c,v 1.14 2012/03/13 21:13:48 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "from: @(#)merge.c 8.2 (Berkeley) 2/14/94";
#else
-__RCSID("$NetBSD: merge.c,v 1.13 2011/05/18 19:36:36 dsl Exp $");
+__RCSID("$NetBSD: merge.c,v 1.14 2012/03/13 21:13:48 christos Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -108,11 +108,8 @@ static void insertionsort(u_char *, size_t, size_t,
* Arguments are as for qsort.
*/
int
-mergesort(base, nmemb, size, cmp)
- void *base;
- size_t nmemb;
- size_t size;
- int (*cmp)(const void *, const void *);
+mergesort(void *base, size_t nmemb, size_t size,
+ int (*cmp)(const void *, const void *))
{
size_t i;
int sense;
@@ -281,13 +278,12 @@ COPY: b = t;
/* XXX: shouldn't this function be static? - lukem 990810 */
void
-setup(list1, list2, n, size, cmp)
- size_t n, size;
- int (*cmp)(const void *, const void *);
- u_char *list1, *list2;
+setup(u_char *list1, u_char *list2, size_t n, size_t size,
+ int (*cmp)(const void *, const void *))
{
- int i, length, size2, tmp, sense;
+ int length, tmp, sense;
u_char *f1, *f2, *s, *l2, *last, *p2;
+ size_t size2, i;
_DIAGASSERT(cmp != NULL);
_DIAGASSERT(list1 != NULL);
@@ -304,7 +300,7 @@ setup(list1, list2, n, size, cmp)
* for simplicity.
*/
i = 4 + (n & 1);
- insertionsort(list1 + (n - i) * size, (size_t)i, size, cmp);
+ insertionsort(list1 + (n - i) * size, i, size, cmp);
last = list1 + size * (n - i);
*EVAL(list2 + (last - list1)) = list2 + n * size;
@@ -332,12 +328,12 @@ setup(list1, list2, n, size, cmp)
if ((cmp(f2-size, f2) > 0) != sense) {
p2 = *EVAL(p2) = f2 - list1 + list2;
if (sense > 0)
- reverse(f1, f2-size);
+ reverse(f1, f2 - size);
f1 = f2;
}
}
if (sense > 0)
- reverse (f1, f2-size);
+ reverse(f1, f2 - size);
f1 = f2;
if (f2 < last || cmp(f2 - size, f2) > 0)
p2 = *EVAL(p2) = f2 - list1 + list2;
@@ -359,13 +355,11 @@ setup(list1, list2, n, size, cmp)
* last 4 elements.
*/
static void
-insertionsort(a, n, size, cmp)
- u_char *a;
- size_t n, size;
- int (*cmp)(const void *, const void *);
+insertionsort(u_char *a, size_t n, size_t size,
+ int (*cmp)(const void *, const void *))
{
u_char *ai, *s, *t, *u, tmp;
- int i;
+ size_t i;
_DIAGASSERT(a != NULL);
_DIAGASSERT(cmp != NULL);
diff --git a/lib/libc/stdlib/strfmon.c b/lib/libc/stdlib/strfmon.c
index 74196aebb7b..290ac125b80 100644
--- a/lib/libc/stdlib/strfmon.c
+++ b/lib/libc/stdlib/strfmon.c
@@ -1,4 +1,4 @@
-/* $NetBSD: strfmon.c,v 1.8 2011/08/14 09:07:15 christos Exp $ */
+/* $NetBSD: strfmon.c,v 1.9 2012/03/13 21:13:48 christos Exp $ */
/*-
* Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
@@ -32,7 +32,7 @@
#if 0
__FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14 2003/03/20 08:18:55 ache Exp $");
#else
-__RCSID("$NetBSD: strfmon.c,v 1.8 2011/08/14 09:07:15 christos Exp $");
+__RCSID("$NetBSD: strfmon.c,v 1.9 2012/03/13 21:13:48 christos Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -42,6 +42,7 @@ __RCSID("$NetBSD: strfmon.c,v 1.8 2011/08/14 09:07:15 christos Exp $");
#endif
#include <sys/types.h>
+#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
@@ -376,7 +377,8 @@ strfmon(char * __restrict s, size_t maxsize, const char * __restrict format,
while (dst - tmpptr < width)
PRINT(' ');
} else {
- pad_size = dst-tmpptr;
+ _DIAGASSERT(__type_fit(int, dst - tmpptr));
+ pad_size = dst - tmpptr;
memmove(tmpptr + width-pad_size, tmpptr,
(size_t) pad_size);
memset(tmpptr, ' ', (size_t) width-pad_size);
@@ -452,7 +454,7 @@ __calc_left_pad(int flags, char *cur_symb) {
char cs_precedes, sep_by_space, sign_posn;
const char *signstr;
- int left_chars = 0;
+ size_t left_chars = 0;
__setup_vars(flags, &cs_precedes, &sep_by_space, &sign_posn, &signstr);
@@ -471,7 +473,8 @@ __calc_left_pad(int flags, char *cur_symb) {
if (cs_precedes != 0)
left_chars += strlen(signstr);
}
- return (left_chars);
+ _DIAGASSERT(__type_fit(int, left_chars));
+ return (int)left_chars;
}
static int