Ethereal-dev: [ethereal-dev] Re: [ethereal-cvs] cvs commit: ethereal packet-isis-clv.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Gilbert Ramirez <gramirez@xxxxxxxxxx>
Date: Thu, 10 Aug 2000 10:06:23 -0500
On Thu, 10 Aug 2000 09:21:14 Laurent Deniel wrote:
> 
> deniel      2000/08/10 09:21:12 CDT
> 
>   Modified files:
>     .                    packet-isis-clv.c
>   Log:
>   Fix decoding of short ISIS CLV data frames.
> 
>   But there is still a problem with the isis_dissect_unknown
>   procedure which calls proto_tree_add_text: the va_list
>   arguments are incorrectly decoded in proto.c. I suspect
>   a problem with inclusion of stdarg.h vs. varargs.h but
>   for now, I can't figure out where ...
>   (problem on Linux intel with gcc 2.91.66).
> 
>   Revision  Changes    Path
>   1.7       +2 -2      ethereal/packet-isis-clv.c

isis_dissect_unknown() is creating a va_list and passing
it directly to proto_tree_add_text(). proto_tree_add_text()
accepts a variable number of arguments, but not a va_list. You
would hope that a va_list would be interchangeable with
a variable number of arguments, but they're not. That's the
whole reason for printf and vprintf.

A function called proto_tree_add_text_valist() that accepted
a va_list instead of creating one should help.

--gilbert