X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ftransports%2Fautoreply.c;h=9decfbaeab6d9378b9b920c5c40dc7639d47d176;hb=b66fecb428871a3eb274d9370671f1eaf8c5ccec;hp=c3ed16962e87d595aa67943030212bbd90bf675e;hpb=b3b370766107a2bda78f6362170ddbe4b2c0bb21;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/transports/autoreply.c b/src/src/transports/autoreply.c index c3ed16962..9decfbaea 100644 --- a/src/src/transports/autoreply.c +++ b/src/src/transports/autoreply.c @@ -154,7 +154,6 @@ Returns: expanded string if expansion succeeds; static uschar * checkexpand(uschar *s, address_item *addr, uschar *name, int type) { -uschar *t; uschar *ss = expand_string(s); if (ss == NULL) @@ -165,7 +164,7 @@ if (ss == NULL) return NULL; } -if (type != cke_text) for (t = ss; *t != 0; t++) +if (type != cke_text) for (uschar * t = ss; *t != 0; t++) { int c = *t; const uschar * sp; @@ -290,7 +289,7 @@ uschar *message_id = NULL; header_line *h; time_t now = time(NULL); time_t once_repeat_sec = 0; -FILE *f; +FILE *fp; FILE *ff = NULL; autoreply_transport_options_block *ob = @@ -403,7 +402,7 @@ if (ob->never_mail) /* If the -N option is set, can't do any more. */ -if (dont_deliver) +if (f.dont_deliver) { DEBUG(D_transport) debug_printf("*** delivery by %s transport bypassed by -N option\n", @@ -427,7 +426,7 @@ if (oncelog && *oncelog != 0 && to) if (ob->once_file_size > 0) { - uschar * p, * nextp; + uschar * nextp; struct stat statbuf; cache_fd = Uopen(oncelog, O_CREAT|O_RDWR, ob->mode); @@ -464,7 +463,7 @@ if (oncelog && *oncelog != 0 && to) zero. If we find a match, put the time into "then", and the place where it was found into "cache_time". Otherwise, "then" is left at zero. */ - for (p = cache_buff; p < cache_buff + cache_size; p = nextp) + for (uschar * p = cache_buff; p < cache_buff + cache_size; p = nextp) { uschar *s = p + sizeof(time_t); nextp = s + Ustrlen(s) + 1; @@ -577,14 +576,14 @@ if (pid < 0) as the -t option is used. The "headers" stuff *must* be last in case there are newlines in it which might, if placed earlier, screw up other headers. */ -f = fdopen(fd, "wb"); +fp = fdopen(fd, "wb"); -if (from) fprintf(f, "From: %s\n", from); -if (reply_to) fprintf(f, "Reply-To: %s\n", reply_to); -if (to) fprintf(f, "To: %s\n", to); -if (cc) fprintf(f, "Cc: %s\n", cc); -if (bcc) fprintf(f, "Bcc: %s\n", bcc); -if (subject) fprintf(f, "Subject: %s\n", subject); +if (from) fprintf(fp, "From: %s\n", from); +if (reply_to) fprintf(fp, "Reply-To: %s\n", reply_to); +if (to) fprintf(fp, "To: %s\n", to); +if (cc) fprintf(fp, "Cc: %s\n", cc); +if (bcc) fprintf(fp, "Bcc: %s\n", bcc); +if (subject) fprintf(fp, "Subject: %s\n", subject); /* Generate In-Reply-To from the message_id header; there should always be one, but code defensively. */ @@ -596,7 +595,7 @@ if (h) { message_id = Ustrchr(h->text, ':') + 1; while (isspace(*message_id)) message_id++; - fprintf(f, "In-Reply-To: %s", message_id); + fprintf(fp, "In-Reply-To: %s", message_id); } /* Generate a References header if there is at least one of Message-ID:, @@ -618,16 +617,15 @@ the position inside the thread, up to a maximum of 12 altogether. */ if (h || message_id) { - fprintf(f, "References:"); + fprintf(fp, "References:"); if (h) { uschar *s, *id, *error; uschar *referenced_ids[12]; int reference_count = 0; - int i; s = Ustrchr(h->text, ':') + 1; - parse_allow_group = FALSE; + f.parse_allow_group = FALSE; while (*s != 0 && (s = parse_message_id(s, &id, &error)) != NULL) { if (reference_count == nelem(referenced_ids)) @@ -638,28 +636,28 @@ if (h || message_id) } else referenced_ids[reference_count++] = id; } - for (i = 0; i < reference_count; ++i) fprintf(f, " %s", referenced_ids[i]); + for (int i = 0; i < reference_count; ++i) fprintf(fp, " %s", referenced_ids[i]); } /* The message id will have a newline on the end of it. */ - if (message_id) fprintf(f, " %s", message_id); - else fprintf(f, "\n"); + if (message_id) fprintf(fp, " %s", message_id); + else fprintf(fp, "\n"); } /* Add an Auto-Submitted: header */ -fprintf(f, "Auto-Submitted: auto-replied\n"); +fprintf(fp, "Auto-Submitted: auto-replied\n"); /* Add any specially requested headers */ -if (headers) fprintf(f, "%s\n", headers); -fprintf(f, "\n"); +if (headers) fprintf(fp, "%s\n", headers); +fprintf(fp, "\n"); if (text) { - fprintf(f, "%s", CS text); - if (text[Ustrlen(text)-1] != '\n') fprintf(f, "\n"); + fprintf(fp, "%s", CS text); + if (text[Ustrlen(text)-1] != '\n') fprintf(fp, "\n"); } if (ff) @@ -675,9 +673,9 @@ if (ff) debug_printf("error while expanding line from file:\n %s\n %s\n", big_buffer, expand_string_message); } - fprintf(f, "%s", s ? CS s : CS big_buffer); + fprintf(fp, "%s", s ? CS s : CS big_buffer); } - else fprintf(f, "%s", CS big_buffer); + else fprintf(fp, "%s", CS big_buffer); } (void) fclose(ff); } @@ -694,7 +692,7 @@ if (return_message) : US"------ This is a copy of the message, including all the headers.\n"; transport_ctx tctx = { - .u = {.fd = fileno(f)}, + .u = {.fd = fileno(fp)}, .tblock = tblock, .addr = addr, .check_string = NULL, @@ -714,23 +712,23 @@ if (return_message) DELIVER_IN_BUFFER_SIZE; if (fstat(deliver_datafile, &statbuf) == 0 && statbuf.st_size > max) { - fprintf(f, "\n%s" + fprintf(fp, "\n%s" "------ The body of the message is " OFF_T_FMT " characters long; only the first\n" "------ %d or so are included here.\n\n", rubric, statbuf.st_size, (max/1000)*1000); } - else fprintf(f, "\n%s\n", rubric); + else fprintf(fp, "\n%s\n", rubric); } - else fprintf(f, "\n%s\n", rubric); + else fprintf(fp, "\n%s\n", rubric); - fflush(f); + fflush(fp); transport_count = 0; transport_write_message(&tctx, bounce_return_size_limit); } /* End the message and wait for the child process to end; no timeout. */ -(void)fclose(f); +(void)fclose(fp); rc = child_close(pid, 0); /* Update the "sent to" log whatever the yield. This errs on the side of