Date: Sun, 16 Jan 2000 13:12:24 -0800 From: Alfred Perlstein <bright@wintelcom.net> To: Marty Leisner <leisner@rochester.rr.com> Cc: "Alexey N. Dokuchaev" <danfe@ssc.nsu.ru>, freebsd-questions@FreeBSD.ORG Subject: Re: (void)printf(); (Was: Re: simple c i/o question) Message-ID: <20000116131224.F508@fw.wintelcom.net> In-Reply-To: <200001162043.PAA10900@rochester.rr.com>; from leisner@rochester.rr.com on Sun, Jan 16, 2000 at 03:43:35PM -0500 References: <20000113030235.Z9397@fw.wintelcom.net> <200001162043.PAA10900@rochester.rr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
* Marty Leisner <leisner@rochester.rr.com> [000116 13:06] wrote:
>
> Most cases of casting things like printf is to shut up lint.
>
> IMHO this is very bad practice, you shouldn't have unneeded symbols.
>
> Just for a quick note, gcc -Wall -W (2.95.2) doesn't complain on
> this program:
>
> : leisner@soyata;cat foo.c
> #include <stdio.h>
>
> int main(void)
> {
> printf("hello world\n");
> exit(0);
> }
>
> I don't know if gcc has an option to flag this...but write uncluttered code.
gcc (or maybe some other older compiler) used to be able to flag this,
I admit that I don't use it that often, but sometimes it just makes sense.
It would probably better serve people if the code in question had a comment
explaining _why_ the return value is ignored.
-Alfred
> Marty Leisner
>
>
> Alfred Perlstein <bright@wintelcom.net> writes on Thu, 13 Jan 2000 03:02:36 PS
> T
> > * Alexey N. Dokuchaev <danfe@ssc.nsu.ru> [000112 23:54] wrote:
> > > On Wed, 12 Jan 2000, Naief BinTalal wrote:
> > >
> > > > On Wed, Jan 12, 2000 at 04:28:23PM +0000, Jonathon McKitrick wrote:
> > > > >
> > > > > I'm trying to write a hello world program. What is the output
> file for
> > > > > the console currently being displayed (in other words, the
> screen)?
> > > > > I've tried printf, and fprintf to stdout and stderr.
> > > >
> > > > #include <stdio.h>
> > > >
> > > > int
> > > > main(void)
> > > > {
> > > > (void)fprintf(stdout,"Hello World\n");
> > > > return 0;
> > > > }
> > > >
> > >
> > > While browsing thru the source code of almost anything in FreeBSD,
> I've
> > > noticed that (type)function(parameters); syntax. Why not just to
> write
> > > function(paramenters). Like in the prev example, what's wrong with
> simple
> > > printf(blahblah); but (void)printf(blahblah); ?
> >
> > Nothing really, it's my preference to only use void when I mean:
> >
> > "i know this function returns something that may be interesting, but
> frankly
> > I don't care at this point"
> >
> > using it for things like printf is a bit much, but it sort of let's the
> > next guy know that you didn't miss something.
> >
> > I also remember hearing that older compilers had an option to complain
> > about code that didn't do something with return values.
> >
> > -Alfred
> >
> >
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-questions" in the body of the message
>
--
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000116131224.F508>
