From: "Thomas Harte" Newsgroups: comp.os.msdos.djgpp Subject: Re: Warning : if (x=y) Date: Sat, 9 Sep 2000 13:05:25 +0100 Organization: BT Internet Lines: 25 Message-ID: <8pd96i$3bv$1@neptunium.btinternet.com> References: <8pd7q6$ljs$2 AT info DOT cyf-kr DOT edu DOT pl> NNTP-Posting-Host: host62-7-124-28.btinternet.com X-Newsreader: Microsoft Outlook Express 4.72.3155.0 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3155.0 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Rafał Maj wrote in message <8pd7q6$ljs$2 AT info DOT cyf-kr DOT edu DOT pl>... >What is command-line option for turning on warning messages for this >expression ? I don't think there is one, since it is perfectly valid syntax. It assigns the value of x to y, and then evaluates the if statement based on that value - 'TRUE' if the value is non-zero. In actual fact these assignments are terribly useful, for example : char *a; if (a = (char *)malloc(32)) //with (char *) cast for pedants / C++ users { ... } else printf("Malloc failed"); If the malloc succeeds, 'a' correctly points to the 32 bytes of memory. -Thomas