Exim-Dev,
I'm working on adding support for the DCC into the exiscan framework,
and have some questions I'd like some help with:
1) Is there an official Exim coding standard documented somewhere? If
so, where do I find it? If not, what is the de-facto policy on coding
standards for patches?
2) Expansion variables: What is the proper way of flagging that an
expansion variable is unset? Setting its pointer to NULL? Setting its
pointer to point to an empty string? Is there a difference? I ask
because it takes less code to just point the unset variables to
empty strings.
3) In code that runs from the DATA ACL, is it safe to assume that the
(global) variables sender_host_address, sender_helo_name and
sender_address are never NULL? I'm guessing no, but if I'm wrong I
can remove the bit of code for handling this case.
And a few general C/libc issues I'd just like confirmed:
4) If socket(2) returns > -1, you must call close(2) on the result to
avoid leaking file descriptors. True?
5) snprintf(3) will always \0 terminate it's first argument, even if
it has to truncate it to make room for the \0. True?
I'll probably have more questions later, but I think that does it for
now.
Regards,
Bob