57 void qmgr_move(
const char *src_queue,
const char *dst_queue,
60 const char *myname =
"qmgr_move";
66 if (strcmp(src_queue, dst_queue) == 0)
67 msg_panic(
"%s: source queue %s is destination", myname, src_queue);
69 msg_info(
"start move queue %s -> %s", src_queue, dst_queue);
75 tbuf.actime = tbuf.modtime = time_stamp;
77 if (utime(path, &tbuf) < 0) {
79 msg_fatal(
"%s: update %s time stamps: %m", myname, path);
80 msg_warn(
"%s: update %s time stamps: %m", myname, path);
86 msg_fatal(
"%s: rename %s from %s to %s: %m",
87 myname, queue_id, src_queue, dst_queue);
88 msg_warn(
"%s: rename %s from %s to %s: %m",
89 myname, queue_id, src_queue, dst_queue);
93 msg_info(
"%s: moved %s from %s to %s",
94 myname, queue_id, src_queue, dst_queue);
96 msg_warn(
"%s: ignored: queue %s id %s",
97 myname, src_queue, queue_id);
103 msg_info(
"end move queue %s -> %s", src_queue, dst_queue);
int mail_queue_id_ok(const char *queue_id)
NORETURN msg_panic(const char *fmt,...)
const char * mail_queue_path(VSTRING *buf, const char *queue_name, const char *queue_id)
SCAN_DIR * scan_dir_open(const char *path)
SCAN_DIR * scan_dir_close(SCAN_DIR *scan)
int mail_queue_rename(const char *queue_id, const char *old_queue, const char *new_queue)
void msg_warn(const char *fmt,...)
NORETURN msg_fatal(const char *fmt,...)
char * mail_scan_dir_next(SCAN_DIR *scan)
void qmgr_move(const char *src_queue, const char *dst_queue, time_t time_stamp)
void msg_info(const char *fmt,...)