68 #define S_STRING_FORMAT "%-11s %7s %-20s %s\n"
69 #define S_SENDER_FORMAT "%-11s %7ld %20.20s %s\n"
70 #define S_HEADINGS "-Queue ID-", "--Size--", \
71 "----Arrival Time----", "-Sender/Recipient-------"
73 #define L_STRING_FORMAT "%-17s %8s %-19s %s\n"
74 #define L_SENDER_FORMAT "%-17s %8ld %19.19s %s\n"
75 #define L_HEADINGS "----Queue ID-----", "--Size--", \
76 "---Arrival Time----", "--Sender/Recipient------"
78 #define STR(x) vstring_str(x)
82 static unsigned long showq_message(
VSTREAM *showq_stream)
93 const char *show_reason;
96 time_t time_t_arrival_time;
101 if (queue_name == 0) {
129 time_t_arrival_time = arrival_time;
132 message_size, asctime(localtime(&time_t_arrival_time)),
154 if (strcmp(saved_reason,
STR(why)) != 0) {
157 show_reason = *saved_reason ? saved_reason :
"reason unavailable";
158 if ((padding = 76 - (
int) strlen(show_reason)) < 0)
164 "",
"",
"",
STR(addr));
166 if (showq_status < 0)
169 return (message_size);
176 unsigned long file_count = 0;
177 unsigned long queue_size = 0;
185 if (file_count > 0) {
192 queue_size += showq_message(showq_stream);
200 if (showq_status < 0)
210 queue_size / 1024, file_count,
211 file_count == 1 ?
"" :
"s");
char * mystrdup(const char *str)
void showq_compat(VSTREAM *showq_stream)
#define MAIL_QUEUE_ACTIVE
#define RECV_ATTR_LONG(name, val)
VSTREAM * vstream_printf(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
VSTRING * vstring_sprintf(VSTRING *vp, const char *format,...)
int vstream_fflush(VSTREAM *stream)
NORETURN msg_fatal_status(int status, const char *fmt,...)
#define MAIL_ATTR_QUEUEID
#define RECV_ATTR_STR(name, val)