Oh yeah, there's definitely a bug there isn't there - it'll proceed to do tests on *data for 1 and 0, which is certainly not right. They should both be checking size in the if and elseif, and the empty message can be passed to the send_to_all, which seems like the right behavior.