All values are -1 if the STATFS functions are not available.
*/
-int
+int_eximarith_t
receive_statvfs(BOOL isspool, int *inodeptr)
{
#ifdef HAVE_STATFS
/* Disks are getting huge. Take care with computing the size in kilobytes. */
-return (int)(((double)statbuf.F_BAVAIL * (double)statbuf.F_FRSIZE)/1024.0);
+return (int_eximarith_t)(((double)statbuf.F_BAVAIL * (double)statbuf.F_FRSIZE)/1024.0);
#else
/* Unable to find partition sizes in this environment. */
BOOL
receive_check_fs(int msg_size)
{
-int space, inodes;
+int_eximarith_t space;
+int inodes;
if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
{
space = receive_statvfs(TRUE, &inodes);
DEBUG(D_receive)
- debug_printf("spool directory space = %dK inodes = %d "
- "check_space = %dK inodes = %d msg_size = %d\n",
+ debug_printf("spool directory space = " PR_EXIM_ARITH "K inodes = %d "
+ "check_space = " PR_EXIM_ARITH "K inodes = %d msg_size = %d\n",
space, inodes, check_spool_space, check_spool_inodes, msg_size);
if ((space >= 0 && space < check_spool_space) ||
(inodes >= 0 && inodes < check_spool_inodes))
{
- log_write(0, LOG_MAIN, "spool directory space check failed: space=%d "
- "inodes=%d", space, inodes);
+ log_write(0, LOG_MAIN, "spool directory space check failed: space="
+ PR_EXIM_ARITH " inodes=%d", space, inodes);
return FALSE;
}
}
space = receive_statvfs(FALSE, &inodes);
DEBUG(D_receive)
- debug_printf("log directory space = %dK inodes = %d "
- "check_space = %dK inodes = %d\n",
+ debug_printf("log directory space = " PR_EXIM_ARITH "K inodes = %d "
+ "check_space = " PR_EXIM_ARITH "K inodes = %d\n",
space, inodes, check_log_space, check_log_inodes);
- if ((space >= 0 && space < check_log_space) ||
- (inodes >= 0 && inodes < check_log_inodes))
+ if ( space >= 0 && space < check_log_space
+ || inodes >= 0 && inodes < check_log_inodes)
{
- log_write(0, LOG_MAIN, "log directory space check failed: space=%d "
- "inodes=%d", space, inodes);
+ log_write(0, LOG_MAIN, "log directory space check failed: space=" PR_EXIM_ARITH
+ " inodes=%d", space, inodes);
return FALSE;
}
}
if (LOGGING(dnssec) && sender_host_dnssec) /*XXX sender_helo_dnssec? */
g = string_catn(g, US" DS", 3);
g = string_append(g, 2, US" H=", sender_fullhost);
- if (LOGGING(incoming_interface) && interface_address != NULL)
- {
- g = string_cat(g,
- string_sprintf(" I=[%s]:%d", interface_address, interface_port));
- }
+ if (LOGGING(incoming_interface) && interface_address)
+ g = string_fmt_append(g, " I=[%s]:%d", interface_address, interface_port);
}
if (f.tcp_in_fastopen && !f.tcp_in_fastopen_logged)
{
- g = string_catn(g, US" TFO", 4);
+ g = string_catn(g, US" TFO*", f.tcp_in_fastopen_data ? 5 : 4);
f.tcp_in_fastopen_logged = TRUE;
}
if (sender_ident)
if (received_protocol)
g = string_append(g, 2, US" P=", received_protocol);
if (LOGGING(pipelining) && f.smtp_in_pipelining_advertised)
- g = string_catn(g, US" L-", f.smtp_in_pipelining_used ? 2 : 3);
+ {
+ g = string_catn(g, US" L", 2);
+#ifdef EXPERIMENTAL_PIPE_CONNECT
+ if (f.smtp_in_early_pipe_used)
+ g = string_catn(g, US"*", 1);
+ else if (f.smtp_in_early_pipe_advertised)
+ g = string_catn(g, US".", 1);
+#endif
+ if (!f.smtp_in_pipelining_used)
+ g = string_catn(g, US"-", 1);
+ }
return g;
}