would it be safe to omit the initialization of "address"?
Yes, but it shortens the lines below and improves readability of the code.
-Hans
I am sorry to make such a meal of this, but - in addition to the write-strings issue - I noticed that the original code initialized "address" thus:
char *address = "";
(which you correctly then constified).
What I am saying is, because of all the checking code which follows, can we be confident that every message->lpRecips[i].lpszAddress must have gained a value, and therefore just write
const char *address;
for "address", without the empty-string initial assignment?
I shall post the patch, in essence, as you kindly stated, to supersede my earlier offerings before Alexandre gets a chance to look at my mess. But it would be nice to know the answer to the above. Again - and without much thinking - if "address" does need to be set to a default value, should it be to empty-string, or to NULL?
-- Andy.