Mail Archives: djgpp-workers/2001/06/11/10:01:51
On Mon, 11 Jun 2001, Hans-Bernhard Broeker wrote:
> > @@ -327,7 +327,7 @@ _doprnt(const char *fmt0, va_list argp,
> > */
> > char *p /*, *memchr() */;
> >
> > - if ((p = memchr(t, 0, prec)))
> > + if ((p = memchr(t, 0, (size_t)prec)))
>
> Casting a variable on passing to a function is almost always a sign of
> trouble. It may make more sense to turn 'prec' into an unsigned variable
> (size_t or unsigned int), here. OTOH, 'prec' has a signalling value of
> -1 for "undefined", in this routin, so I guess this is OK.
That was my line of reasoning as well.
P.S. The value of the warning is that it forces you to think about each
such case and make the decisions how to code each case conciously rather
than letting them happen by default.
- Raw text -