X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/b6323c752c9eb254c2330f369479cf039ed54c05..96c8151125ceb98ed52c0089f6401e6ba05bb41e:/src/exim_monitor/em_queue.c?ds=sidebyside diff --git a/src/exim_monitor/em_queue.c b/src/exim_monitor/em_queue.c index cb284eb48..d4c01a628 100644 --- a/src/exim_monitor/em_queue.c +++ b/src/exim_monitor/em_queue.c @@ -2,7 +2,7 @@ * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -138,7 +138,7 @@ acl_var_create(uschar *name) { tree_node *node, **root; root = (name[0] == 'c')? &acl_var_c : &acl_var_m; -node = store_get(sizeof(tree_node) + Ustrlen(name)); +node = store_get(sizeof(tree_node) + Ustrlen(name), FALSE); Ustrcpy(node->name, name); node->data.ptr = NULL; (void)tree_insertnode(root, node); @@ -156,7 +156,7 @@ set_up(uschar *name, int dir_char) { int i, rc, save_errno; struct stat statdata; -void *reset_point; +rmark reset_point; uschar *p; queue_item *q = (queue_item *)store_malloc(sizeof(queue_item)); uschar buffer[256]; @@ -182,7 +182,7 @@ Before reading the header remember the position in the dynamic store so that we can recover the store into which the header is read. All data read by spool_read_header that is to be preserved is copied into malloc store. */ -reset_point = store_get(0); +reset_point = store_mark(); message_size = 0; message_subdir[0] = dir_char; sprintf(CS buffer, "%s-H", name); @@ -204,7 +204,7 @@ if it's there. */ else { - q->update_time = q->input_time = received_time; + q->update_time = q->input_time = received_time.tv_sec; if ((p = strstric(sender_address+1, qualify_domain, FALSE)) != NULL && *(--p) == '@') *p = 0; } @@ -222,11 +222,11 @@ if (rc != spool_read_OK) struct stat statbuf; sprintf(CS big_buffer, "%s/input/%s", spool_directory, buffer); if (Ustat(big_buffer, &statbuf) == 0) - msg = string_sprintf("*** Format error in spool file: size = %d ***", + msg = string_sprintf("*** Format error in spool file: size = " OFF_T_FMT " ***", statbuf.st_size); - else msg = string_sprintf("*** Format error in spool file ***"); + else msg = US"*** Format error in spool file ***"; } - else msg = string_sprintf("*** Cannot read spool file ***"); + else msg = US"*** Cannot read spool file ***"; if (rc == spool_read_hdrerror) { @@ -234,7 +234,7 @@ if (rc != spool_read_OK) } else { - deliver_freeze = FALSE; + f.deliver_freeze = FALSE; sender_address = msg; recipients_count = 0; } @@ -242,9 +242,9 @@ if (rc != spool_read_OK) /* Now set up the remaining data. */ -q->frozen = deliver_freeze; +q->frozen = f.deliver_freeze; -if (sender_set_untrusted) +if (f.sender_set_untrusted) { if (sender_address[0] == 0) { @@ -614,7 +614,7 @@ static void update_recipients(queue_item *p) { int i; FILE *jread; -void *reset_point; +rmark reset_point; struct stat statdata; uschar buffer[1024]; @@ -634,7 +634,7 @@ if (!(jread = fopen(CS buffer, "r"))) /* Get the contents of the header file; if any problem, just give up. Arrange to recover the dynamic store afterwards. */ -reset_point = store_get(0); +reset_point = store_mark(); sprintf(CS buffer, "%s-H", p->name); if (spool_read_header(buffer, FALSE, TRUE) != spool_read_OK) {