Error handling schemes tend to add all kinds of complexity and ugliness to C code—especially in low-level programming where error cases are most prevalent.
Figuring out maximum character counts for concatenated SMS messages is complicated. Throw character encodings into the mix, and everything can become very muddled.
added benefits of using enumerators to build the interface to your collection, namely the ability to deal with memory constraints and transparently handle errors.