The macro has so many problems - side effects on both buffers, control
flow elements (if, return), memory allocation and deallocation - that
the author should be chained to a tech support desk for at least a few
years. How the hell did Linus let it through? Shuddddderrrrr.