* Re: Coding technique question
2003-06-16 20:03 Coding technique question Timothy Miller
@ 2003-06-16 19:56 ` Jeff Garzik
2003-06-16 20:05 ` Aschwin Marsman
1 sibling, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2003-06-16 19:56 UTC (permalink / raw)
To: Timothy Miller; +Cc: Linux Kernel Mailing List
On Mon, Jun 16, 2003 at 04:03:31PM -0400, Timothy Miller wrote:
> I believe I've seen this sort of thing done in the kernel:
>
> do {
> ....
> code
> ....
> } while (0);
>
>
> What I was wondering is how this is any different from:
>
> {
> ....
> code
> ....
> }
It's not... unless you're creating a function-like macro.
Jeff
^ permalink raw reply [flat|nested] 5+ messages in thread
* Coding technique question
@ 2003-06-16 20:03 Timothy Miller
2003-06-16 19:56 ` Jeff Garzik
2003-06-16 20:05 ` Aschwin Marsman
0 siblings, 2 replies; 5+ messages in thread
From: Timothy Miller @ 2003-06-16 20:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
I believe I've seen this sort of thing done in the kernel:
do {
....
code
....
} while (0);
What I was wondering is how this is any different from:
{
....
code
....
}
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coding technique question
2003-06-16 20:03 Coding technique question Timothy Miller
2003-06-16 19:56 ` Jeff Garzik
@ 2003-06-16 20:05 ` Aschwin Marsman
2003-06-16 20:23 ` Timothy Miller
2003-06-19 2:16 ` david nicol
1 sibling, 2 replies; 5+ messages in thread
From: Aschwin Marsman @ 2003-06-16 20:05 UTC (permalink / raw)
To: Timothy Miller; +Cc: Linux Kernel Mailing List
On Mon, 16 Jun 2003, Timothy Miller wrote:
> I believe I've seen this sort of thing done in the kernel:
>
> do {
> ....
> code
> ....
> } while (0);
>
>
> What I was wondering is how this is any different from:
>
> {
> ....
> code
> ....
> }
See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "
Best regards,
Aschwin Marsman
--
aYniK Software Solutions all You need is Knowledge
Bedrijvenpark Twente 305 NL-7602 KL Almelo - the Netherlands
P.O. box 134 NL-7600 AC Almelo - the Netherlands
a.marsman@aYniK.com http://www.aYniK.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coding technique question
2003-06-16 20:05 ` Aschwin Marsman
@ 2003-06-16 20:23 ` Timothy Miller
2003-06-19 2:16 ` david nicol
1 sibling, 0 replies; 5+ messages in thread
From: Timothy Miller @ 2003-06-16 20:23 UTC (permalink / raw)
To: Aschwin Marsman; +Cc: Linux Kernel Mailing List
Thank you for pointing this out to me. It's very interesting reading.
Aschwin Marsman wrote:
> On Mon, 16 Jun 2003, Timothy Miller wrote:
>
>
>>I believe I've seen this sort of thing done in the kernel:
>>
>>do {
>> ....
>> code
>> ....
>>} while (0);
>>
>>
>>What I was wondering is how this is any different from:
>>
>>{
>> ....
>> code
>> ....
>>}
>
>
> See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
> Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "
>
> Best regards,
>
> Aschwin Marsman
>
> --
> aYniK Software Solutions all You need is Knowledge
> Bedrijvenpark Twente 305 NL-7602 KL Almelo - the Netherlands
> P.O. box 134 NL-7600 AC Almelo - the Netherlands
> a.marsman@aYniK.com http://www.aYniK.com
>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Coding technique question
2003-06-16 20:05 ` Aschwin Marsman
2003-06-16 20:23 ` Timothy Miller
@ 2003-06-19 2:16 ` david nicol
1 sibling, 0 replies; 5+ messages in thread
From: david nicol @ 2003-06-19 2:16 UTC (permalink / raw)
To: Aschwin Marsman; +Cc: Timothy Miller, Linux Kernel Mailing List
i-yi-yi.
/*
* Clarity concerning the
* do {
* ...
* } while (0);
* construct!
*/
#define MACRO_BLOCK_BEGIN do {
#define MACRO_BLOCK_END } while (0);
> See the Kernel Newbies FAQ at http://kernelnewbies.org/faq/
> Q: "Why do a lot of #defines in the kernel use do { ... } while(0)? "
>
> Best regards,
>
> Aschwin Marsman
--
David Nicol, independent consultant and contractor
Senator Orrin Hatch rewinds his DVDs
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-06-19 2:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-16 20:03 Coding technique question Timothy Miller
2003-06-16 19:56 ` Jeff Garzik
2003-06-16 20:05 ` Aschwin Marsman
2003-06-16 20:23 ` Timothy Miller
2003-06-19 2:16 ` david nicol
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).