--- 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