* 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 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
* 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