--- 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
syntax highlighted by Code2HTML, v. 0.9.1