+void +em_utils_send_receipt (CamelFolder *folder, CamelMimeMessage *message) +{ + /* See RFC #2298 for a description of message receipts */ + + EAccount *account = guess_account (message, folder); + + CamelMimeMessage *receipt = camel_mime_message_new (); the extra blank lines should be removed as they will cause compile problems with some compilers (e.g. non-gcc) + /* We use camel_header_msgid_generate () to get a canonical + * hostname, then skip the part leading to '@' */ + fake_msgid = camel_header_msgid_generate (); + for (hostname = fake_msgid; hostname && *hostname != '@'; ++hostname); + ++hostname; you check that hostname != NULL in the for-loop but then never expect that it could be NULL afterward? I don't think it's possible for 'hostname' to ever be NULL so that check should be removed... also, because of the way it's written, that for-loop can easily be misread (e.g. it's easy to look at it and think that the following line is part of the for-loop if you are just skimming the code) 2 possible solutions to this might be: fake_msgid = camel_header_msgid_generate (); for (hostname = fake_msgid; *hostname != '@'; hostname++) ; or hostname = fake_msgid = camel_header_msgid_generate (); while (*hostname != '@') hostname++; I personally prefer the latter, but I suppose either would be fine. and then I have to wonder if there isn't a better way of getting the hostname than generating a msgid that we don't actually use. -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature