git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use back-compatible variable for perl version
[exim.git]
/
src
/
src
/
queue.c
diff --git
a/src/src/queue.c
b/src/src/queue.c
index 7b8f727bc9e8ac13407626c071bbe7f4cc002ac7..f9468119780b603b91382a4461238bc2169fc77a 100644
(file)
--- a/
src/src/queue.c
+++ b/
src/src/queue.c
@@
-2,7
+2,7
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 201
5
*/
+/* Copyright (c) University of Cambridge 1995 - 201
7
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Functions that operate on the input queue. */
/* See the file NOTICE for conditions of use and distribution. */
/* Functions that operate on the input queue. */
@@
-80,7
+80,11
@@
queue_filename *first = NULL;
queue_filename **append = &first;
while (a && b)
queue_filename **append = &first;
while (a && b)
- if (Ustrcmp(a->text, b->text) < 0)
+ {
+ int d;
+ if ((d = Ustrncmp(a->text, b->text, 6)) == 0)
+ d = Ustrcmp(a->text + 14, b->text + 14);
+ if (d < 0)
{
*append = a;
append= &a->next;
{
*append = a;
append= &a->next;
@@
-92,6
+96,7
@@
while (a && b)
append= &b->next;
b = b->next;
}
append= &b->next;
b = b->next;
}
+ }
*append = a ? a : b;
return first;
*append = a ? a : b;
return first;
@@
-278,7
+283,7
@@
for (; i <= *subcount; i++)
if (root[j])
{
next = merge_queue_lists(next, root[j]);
if (root[j])
{
next = merge_queue_lists(next, root[j]);
- root[j] =
(j == LOG2_MAXNODES - 1)
? next : NULL;
+ root[j] =
j == LOG2_MAXNODES - 1
? next : NULL;
}
else
{
}
else
{
@@
-405,28
+410,18
@@
if (!recurse)
*p = 0;
p = big_buffer;
*p = 0;
p = big_buffer;
- sprintf(CS p, "pid=%d", (int)queue_run_pid);
- while (*p != 0) p++;
+ p += sprintf(CS p, "pid=%d", (int)queue_run_pid);
if (extras[0] != 0)
if (extras[0] != 0)
- {
- sprintf(CS p, " -q%s", extras);
- while (*p != 0) p++;
- }
+ p += sprintf(CS p, " -q%s", extras);
- if (deliver_selectstring != NULL)
- {
- sprintf(CS p, " -R%s %s", deliver_selectstring_regex? "r" : "",
+ if (deliver_selectstring)
+ p += sprintf(CS p, " -R%s %s", deliver_selectstring_regex? "r" : "",
deliver_selectstring);
deliver_selectstring);
- while (*p != 0) p++;
- }
- if (deliver_selectstring_sender != NULL)
- {
- sprintf(CS p, " -S%s %s", deliver_selectstring_sender_regex? "r" : "",
+ if (deliver_selectstring_sender)
+ p += sprintf(CS p, " -S%s %s", deliver_selectstring_sender_regex? "r" : "",
deliver_selectstring_sender);
deliver_selectstring_sender);
- while (*p != 0) p++;
- }
log_detail = string_copy(big_buffer);
if (*queue_name)
log_detail = string_copy(big_buffer);
if (*queue_name)
@@
-438,10
+433,10
@@
if (!recurse)
/* If deliver_selectstring is a regex, compile it. */
/* If deliver_selectstring is a regex, compile it. */
-if (deliver_selectstring
!= NULL
&& deliver_selectstring_regex)
+if (deliver_selectstring && deliver_selectstring_regex)
selectstring_regex = regex_must_compile(deliver_selectstring, TRUE, FALSE);
selectstring_regex = regex_must_compile(deliver_selectstring, TRUE, FALSE);
-if (deliver_selectstring_sender
!= NULL
&& deliver_selectstring_sender_regex)
+if (deliver_selectstring_sender && deliver_selectstring_sender_regex)
selectstring_regex_sender =
regex_must_compile(deliver_selectstring_sender, TRUE, FALSE);
selectstring_regex_sender =
regex_must_compile(deliver_selectstring_sender, TRUE, FALSE);
@@
-460,8
+455,8
@@
subsequent iterations.
When the first argument of queue_get_spool_list() is -1 (for queue_run_in_
order), it scans all directories and makes a single message list. */
When the first argument of queue_get_spool_list() is -1 (for queue_run_in_
order), it scans all directories and makes a single message list. */
-for (i
= (queue_run_in_order? -1 : 0)
;
- i <= (queue_run_in_order? -1 : subcount);
+for (i
= queue_run_in_order ? -1 : 0
;
+ i <= (queue_run_in_order
? -1 : subcount);
i++)
{
queue_filename *f;
i++)
{
queue_filename *f;
@@
-890,7
+885,7
@@
for (reset_point = store_get(0); f; f = f->next)
if (Ustat(fname, &statbuf) == 0)
size = message_size + statbuf.st_size - SPOOL_DATA_START_OFFSET + 1;
if (Ustat(fname, &statbuf) == 0)
size = message_size + statbuf.st_size - SPOOL_DATA_START_OFFSET + 1;
- i = (now - received_time)/60; /* minutes on queue */
+ i = (now - received_time
.tv_sec
)/60; /* minutes on queue */
if (i > 90)
{
i = (i + 30)/60;
if (i > 90)
{
i = (i + 30)/60;
@@
-1143,7
+1138,7
@@
switch(action)
{
case MSG_SHOW_COPY:
{
{
case MSG_SHOW_COPY:
{
- transport_ctx tctx = {
0
};
+ transport_ctx tctx = {
{0}
};
deliver_in_buffer = store_malloc(DELIVER_IN_BUFFER_SIZE);
deliver_out_buffer = store_malloc(DELIVER_OUT_BUFFER_SIZE);
tctx.u.fd = 1;
deliver_in_buffer = store_malloc(DELIVER_IN_BUFFER_SIZE);
deliver_out_buffer = store_malloc(DELIVER_OUT_BUFFER_SIZE);
tctx.u.fd = 1;