Date: Mon, 28 Jan 2002 17:40:02 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Chad David <davidc@acns.ab.ca> Cc: Alexey Zelkin <phantom@FreeBSD.ORG>, "Andrey A. Chernov" <ache@nagual.pp.ru>, "Brian F. Feldman" <green@FreeBSD.ORG>, <arch@FreeBSD.ORG> Subject: Re: strtod() Message-ID: <20020128173725.W41376-100000@gamplex.bde.org> In-Reply-To: <20020127131125.B42735@colnta.acns.ab.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 27 Jan 2002, Chad David wrote: > The differences between 1.3 are pretty minor though, and they do not > affect this. > > colnta->cvs diff -ud -r 1.3 localeconv.c > Index: localeconv.c > =================================================================== > RCS file: /mnt1/ncvs/src/lib/libc/locale/localeconv.c,v > retrieving revision 1.3 > retrieving revision 1.9 > diff -u -d -r1.3 -r1.9 > --- localeconv.c 10 Feb 2001 02:00:56 -0000 1.3 > +++ localeconv.c 20 Dec 2001 15:30:02 -0000 1.9 > > [cut copyright] > > @@ -29,11 +36,13 @@ > #if 0 > static char sccsid[] = "@(#)localeconv.c 8.1 (Berkeley) 6/4/93"; > #endif > -static char rcsid[] = "$FreeBSD: src/lib/libc/locale/localeconv.c,v 1.3 2001/02/10 02:00:56 ache Exp $"; > +static char rcsid[] = > + "$FreeBSD: src/lib/libc/locale/localeconv.c,v 1.9 2001/12/20 15:30:02 phantom Exp $"; > #endif /* LIBC_SCCS and not lint */ > > #include <locale.h> > #include <stdlib.h> > +#include <limits.h> > #include "lmonetary.h" > #include "lnumeric.h" > > @@ -51,7 +60,10 @@ > > static char > cnv(char *str) { > - return (char)strtol(str, NULL, 0); > + int i = strtol(str, NULL, 10); > + if (i == -1) > + i = CHAR_MAX; > + return (char)i; > } > > This change here detected that strtol() was failing, but didn't fix errno. This change actually adds 3 style bugs and a magic conversion, but doesn't detect that strtol() fails. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020128173725.W41376-100000>