host_af = Ustrchr(host->address, ':') ? AF_INET6 : AF_INET;
+ GET_OPTION("interface");
if ( !smtp_get_interface(tf->interface, host_af, addr, &interface,
US"callout")
|| !smtp_get_port(tf->port, addr, &port, US"callout")
with a random local part, ensure that such a local part is available. If not,
log the fact, but carry on without randomising. */
- if (options & vopt_callout_random && callout_random_local_part)
- if (!(random_local_part = expand_string(callout_random_local_part)))
+ if (options & vopt_callout_random)
+ {
+ GET_OPTION("callout_random_local_part");
+ if ( callout_random_local_part
+ && !(random_local_part = expand_string(callout_random_local_part)))
log_write(0, LOG_MAIN|LOG_PANIC, "failed to expand "
"callout_random_local_part: %s", expand_string_message);
+ }
/* Compile regex' used by client-side smtp */
deliver_domain = addr->domain;
transport_name = addr->transport->name;
+ GET_OPTION("interface");
if ( !smtp_get_interface(tf->interface, host_af, addr, &interface,
US"callout")
|| !smtp_get_port(tf->port, addr, &port, US"callout")
f.parse_allow_group = TRUE;
- while (*s != 0)
+ while (*s)
{
- address_item *vaddr;
+ address_item * vaddr;
while (isspace(*s) || *s == ',') s++;
- if (*s == 0) break; /* End of header */
+ if (!*s) break; /* End of header */
ss = parse_find_address_end(s, FALSE);
while (isspace(ss[-1])) ss--;
terminator = *ss;
- *ss = 0;
+ *ss = '\0';
HDEBUG(D_verify) debug_printf("verifying %.*s header address %s\n",
(int)(endname - h->text), h->text, s);
goto END_OFF;
p = buffer + qlen + n;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
if (*p++ != ':') goto END_OFF;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
if (Ustrncmp(p, "USERID", 6) != 0) goto END_OFF;
p += 6;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
if (*p++ != ':') goto END_OFF;
-while (*p != 0 && *p != ':') p++;
-if (*p++ == 0) goto END_OFF;
-while(isspace(*p)) p++;
-if (*p == 0) goto END_OFF;
+while (*p && *p != ':') p++;
+if (!*p++) goto END_OFF;
+Uskip_whitespace(&p);
+if (!*p) goto END_OFF;
/* The rest of the line is the data we want. We turn it into printing
characters when we save it, so that it cannot mess up the format of any logging
{
filename = semicolon + 1;
key = filename;
- while (*key != 0 && !isspace(*key)) key++;
+ Uskip_nonwhite(&key);
filename = string_copyn(filename, key - filename);
- while (isspace(*key)) key++;
+ Uskip_whitespace(&key);
}
else if (mac_islookup(search_type, lookup_querystyle))
{