ToolTalk functions that accept pointers always check the pointer passed in and return TT_ERR_POINTER
if the pointer is an error value. This check allows you to combine calls in reasonable ways without checking the value of the pointer for every single call.
In Example 14-4, a message is created, filled in, and sent. If tt_message_create fails, an error object is assigned to m, and all the tt_message_xxx_set and tt_message_send calls fail. To detect the error without checking between each call, you only need to check the return code from tt_message_send.