-/* The number of nodes to use for the bottom-up merge sort when a list of queue
-items is to be ordered. The code for this sort was contributed as a patch by
-Michael Haardt. */
-
-#define LOG2_MAXNODES 32
-
-
-
/* Routines with knowlege of spool layout */
static void
spool_pname_buf(uschar * buf, int len)
{
-snprintf(CS buf, len, "%s/input/%s", spool_directory, queue_name);
+snprintf(CS buf, len, "%s/%s/input", spool_directory, queue_name);
}
static uschar *
spool_dname(const uschar * purpose, uschar * subdir)
{
return string_sprintf("%s/%s/%s/%s",
- spool_directory, purpose, queue_name, subdir);
+ spool_directory, queue_name, purpose, subdir);
}
uschar *
spool_sname(const uschar * purpose, uschar * subdir)
{
return string_sprintf("%s%s%s%s%s",
+ queue_name, *queue_name ? "/" : "",
purpose,
- *queue_name ? "/" : "", queue_name,
- *message_subdir ? "/" : "", message_subdir);
+ *subdir ? "/" : "", subdir);
}
uschar *
spool_fname(const uschar * purpose, uschar * subdir, uschar * fname, uschar * suffix)
{
return string_sprintf("%s/%s/%s/%s/%s%s",
- spool_directory, purpose, queue_name, subdir, fname, suffix);
+ spool_directory, queue_name, purpose, subdir, fname, suffix);
}
#ifndef COMPILE_UTILITY
+
+/* The number of nodes to use for the bottom-up merge sort when a list of queue
+items is to be ordered. The code for this sort was contributed as a patch by
+Michael Haardt. */
+
+#define LOG2_MAXNODES 32
+
+
+
/*************************************************
* Helper sort function for queue_get_spool_list *
*************************************************/
case MSG_SHOW_COPY:
deliver_in_buffer = store_malloc(DELIVER_IN_BUFFER_SIZE);
deliver_out_buffer = store_malloc(DELIVER_OUT_BUFFER_SIZE);
- transport_write_message(NULL, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 0);
+ transport_write_message(1, NULL, 0);
break;
}
if (yield)
- {
if (spool_write_header(id, SW_MODIFYING, &errmsg) >= 0)
printf("has been modified\n");
else
yield = FALSE;
printf("- while %s: %s\n", doing, errmsg);
}
- }
break;
}
/* Closing the datafile releases the lock and permits other processes
to operate on the message (if it still exists). */
-(void)close(deliver_datafile);
-deliver_datafile = -1;
+if (deliver_datafile >= 0)
+ {
+ (void)close(deliver_datafile);
+ deliver_datafile = -1;
+ }
return yield;
}