I have noticed a programming style in Embedded C, used for firmware programming:
#define WRITE_REGISTER(reg, value) \
        do { \
           write_to_register(reg, value); \
        } while (0)
How does this do...while (0) help over:
#define WRITE_REGISTER(reg, value) write_to_register(reg, value)
				
                        
With this kind of loop definition, you can use
breakstatements within. This allows easier error handling. Example: