--- qmail-clean.c.orig 1998-06-15 +++ qmail-clean.c 2007-03-21 --- .././qmail-1.03/qmail-clean.c Mon Jun 15 12:53:16 1998 +++ ../qmail-1.03.2418/qmail-clean.c Mon Nov 22 21:55:35 2004 @@ -17,6 +17,7 @@ #include "fmtqfn.h" #include "auto_qmail.h" +#define BIGTODO #define OSSIFIED 129600 /* see qmail-send.c */ stralloc line = {0}; @@ -73,22 +74,43 @@ if (line.len < 7) { respond("x"); continue; } if (line.len > 100) { respond("x"); continue; } if (line.s[line.len - 1]) { respond("x"); continue; } /* impossible */ +#ifdef BIGTODO + for (i = line.len - 2;i > 4;--i) + { + if (line.s[i] == '/') break; +#else for (i = 5;i < line.len - 1;++i) +#endif if ((unsigned char) (line.s[i] - '0') > 9) { respond("x"); continue; } +#ifdef BIGTODO + } + if (line.s[i] == '/') + if (!scan_ulong(line.s + i + 1,&id)) { respond("x"); continue; } +#else if (!scan_ulong(line.s + 5,&id)) { respond("x"); continue; } +#endif if (byte_equal(line.s,5,"foop/")) { #define U(prefix,flag) fmtqfn(fnbuf,prefix,id,flag); \ if (unlink(fnbuf) == -1) if (errno != error_noent) { respond("!"); continue; } +#ifdef BIGTODO + U("intd/",1) +#else U("intd/",0) +#endif U("mess/",1) respond("+"); } else if (byte_equal(line.s,4,"todo/")) { +#ifdef BIGTODO + U("intd/",1) + U("todo/",1) +#else U("intd/",0) U("todo/",0) +#endif respond("+"); } else