Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 May 2018 09:46:31 +0100
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        Eitan Adler <eadler@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r333959 - head/usr.bin/top
Message-ID:  <9F97F4FF-0148-4889-8825-0237FFD09550@fubar.geek.nz>
In-Reply-To: <201805210358.w4L3wFji081505@repo.freebsd.org>
References:  <201805210358.w4L3wFji081505@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 21 May 2018, at 04:58, Eitan Adler <eadler@freebsd.org> wrote:
>=20
> Author: eadler
> Date: Mon May 21 03:58:15 2018
> New Revision: 333959
> URL: https://svnweb.freebsd.org/changeset/base/333959
>=20
> Log:
>  top(1): build with WARNS=3D3
>=20
>  This fixes everything but
>  -Wincompatible-pointer-types-discards-qualifiers
>=20
> Modified:
>  head/usr.bin/top/Makefile
>  head/usr.bin/top/display.c
>  head/usr.bin/top/display.h
>  head/usr.bin/top/machine.h
>  head/usr.bin/top/top.c
>=20
> Modified: head/usr.bin/top/Makefile
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> --- head/usr.bin/top/Makefile	Mon May 21 03:36:16 2018	=
(r333958)
> +++ head/usr.bin/top/Makefile	Mon May 21 03:58:15 2018	=
(r333959)
> @@ -7,7 +7,7 @@ SRCS+=3D	sigdesc.h top.local.h
> CFLAGS+=3D -I ${.OBJDIR}
> MAN=3D	top.1
>=20
> -WARNS?=3D	2
> +WARNS?=3D	3
>=20
> LIBADD=3D	ncursesw m kvm jail
>=20
>=20
> Modified: head/usr.bin/top/display.c
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> --- head/usr.bin/top/display.c	Mon May 21 03:36:16 2018	=
(r333958)
> +++ head/usr.bin/top/display.c	Mon May 21 03:58:15 2018	=
(r333959)
> @@ -32,6 +32,7 @@
>=20
> #include <curses.h>
> #include <ctype.h>
> +#include <stdarg.h>
> #include <stdlib.h>
> #include <string.h>
> #include <strings.h>
> @@ -1042,14 +1043,16 @@ display_header(int t)
>     }
> }
>=20
> -/*VARARGS2*/
> void
> -new_message(int type, char *msgfmt, caddr_t a1, caddr_t a2, caddr_t =
a3)
> +new_message(int type, char *msgfmt, ...)
> {
> -    int i;
> +    va_list args;
> +    size_t i;
>=20
> +    va_start(args, msgfmt);
> +
>     /* first, format the message */
> -    snprintf(next_msg, sizeof(next_msg), msgfmt, a1, a2, a3);
> +    snprintf(next_msg, sizeof(next_msg), msgfmt, args);
>=20
>     if (msglen > 0)
>     {

You missed the call to va_end. You need to call va_end within the same =
function, and after you have finished with args. See stdarg(3):

Each invocation of va_start() or va_copy() must be paired with a =
corresponding invocation of va_end() in the same function.

Andrew




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9F97F4FF-0148-4889-8825-0237FFD09550>