This is nice. Two very minor nits:
In your commit message you say > Add support for not adding messages at all (just scan for user from > address), and returning the number of messages added. and I think both "messages" should "recipients". > + * If 'user_from' is non-NULL and *user_from is NULL, the first address > + * encountered in 'list' that *is* the user's address will be set to > *user_from. This reads oddly: you are setting *user_from to the first address... (rather than the other way round) Best wishes Mark