-/* $Cambridge: exim/src/src/demime.c,v 1.6 2005/06/27 14:29:43 ph10 Exp $ */
-
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
};
/* make sure the eml mbox file is spooled up */
- mbox_file = spool_mbox(&mbox_size);
+ mbox_file = spool_mbox(&mbox_size, NULL);
if (mbox_file == NULL) {
/* error while spooling */
do {
struct stat mystat;
- snprintf(CS file_name,1024,"%s/scan/%s/%s-%05u%s",spool_directory,message_id,message_id,file_nr,extension);
+ (void)string_format(file_name,1024,"%s/scan/%s/%s-%05u%s",spool_directory,message_id,message_id,file_nr,extension);
file_nr++;
if (file_nr >= MIME_SANITY_MAX_DUMP_FILES) {
/* max parts reached */
}
while(result != -1);
- *f = fopen(CS file_name,"w+");
+ *f = modefopen(file_name,"wb+",SPOOL_MODE);
if (*f == NULL) {
/* cannot open new dump file, disk full ? -> soft error */
- snprintf(CS info, 1024,"unable to open dump file");
+ (void)string_format(info, 1024,"unable to open dump file");
return -2;
};
/* allocate memory for data and work buffer */
*data = (uschar *)malloc(line_len);
if (*data == NULL) {
- snprintf(CS info, 1024,"unable to allocate %lu bytes",line_len);
+ (void)string_format(info, 1024,"unable to allocate %lu bytes",line_len);
return -2;
};
work = (uschar *)malloc(line_len);
if (work == NULL) {
- snprintf(CS info, 1024,"unable to allocate %lu bytes",line_len);
+ (void)string_format(info, 1024,"unable to allocate %lu bytes",line_len);
return -2;
};
/* allocate memory for data */
*data = (uschar *)malloc(max_data_len);
if (*data == NULL) {
- snprintf(CS info, 1024,"unable to allocate %lu bytes",max_data_len);
+ (void)string_format(info, 1024,"unable to allocate %lu bytes",max_data_len);
return -2;
};
sprintf(f,"demime acl condition: ");
f+=22;
va_start(ap, format);
- vsnprintf(f, 16383,(char *)format, ap);
+ (void)string_vformat(US f, 16383,(char *)format, ap);
va_end(ap);
f-=22;
- log_write(0, LOG_MAIN, f);
+ log_write(0, LOG_MAIN, "%s", f);
/* then copy to demime_reason_buffer if new
level is greater than old level */
if (level > demime_errorlevel) {
/* allocate room for our linebuffer */
line = (uschar *)malloc(MIME_SANITY_MAX_LINE_LENGTH);
if (line == NULL) {
- snprintf(CS info, 1024,"unable to allocate %u bytes",MIME_SANITY_MAX_LINE_LENGTH);
+ (void)string_format(info, 1024,"unable to allocate %u bytes",MIME_SANITY_MAX_LINE_LENGTH);
return DEFER;
};
if (data_len > 0) {
if (fwrite(data,1,data_len,uu_dump_file) < data_len) {
/* short write */
- snprintf(CS info, 1024,"short write on uudecode dump file");
+ (void)string_format(info, 1024,"short write on uudecode dump file");
free(line);
return DEFER;
};
if (data_len > 0) {
if (fwrite(data,1,data_len,mime_dump_file) < data_len) {
/* short write */
- snprintf(CS info, 1024,"short write on dump file");
+ (void)string_format(info, 1024,"short write on dump file");
free(line);
return DEFER;
};
/* at least one file could be TNEF encoded.
attempt to send all decoded files thru the TNEF decoder */
- snprintf(CS file_name,1024,"%s/scan/%s",spool_directory,message_id);
+ (void)string_format(file_name,1024,"%s/scan/%s",spool_directory,message_id);
/* Removed FTTB. We need to decide on TNEF inclusion */
/* mime_unpack_tnef(file_name); */
};