[ros-dev] Re: [ros-svn] [gdalsnes] 18113: -reorder InsertXscendingOrder macro argument order and update uses

Alex Ionescu ionucu at videotron.ca
Tue Sep 27 23:45:27 CEST 2005

Gunnar Dalsnes wrote:

> If you come across a crash during an enum you just temporarily change 
> the code to hunt the bug, just like normal bug hunting. Some of the 
> list enums i changed were on this form...

No, not like during normal bug hunting. Durnig normal bug hunting I add 
some dprints. During macro bug-hunting I revert the code to make it stop 
using the macro (potentially making a mistake and introducing a bug), 
add the debug prints, get it working, then attempt to add the macro 
again (and potentially make a mistake). More work for me, and more 
potential for bugs.

> for (HeadList = &Foo.Flink; Entry != HeadList; Entry = Entry->Flink)
> {
>    Object = CONTAINING_RECORD(Entry, OBJECT, Link);
>    Object->stuff
> }
> ...and if you had to "debug" it like you showed youd had to edit the 
> code just as well. 

That's because that loop is really ugly. I don't think I'd ever write a 
loop like that for manipulating list entries.

> But for normal not-in-process-of-being-debugged-code i think the above 
> code sux (even without the dprints).

Yeah it does, it should be expanded to properly show each step line by 
line. Not macroized into a single unmaintainable ..thing.

Best regards,
Alex Ionescu

More information about the Ros-dev mailing list