--- PFDiskStore.pm.070117	2006-12-02 18:03:59.000000000 +0100
+++ PFDiskStore.pm	2007-01-23 13:00:19.000000000 +0100
@@ -845,6 +845,15 @@
   $this->Start() unless $$this{_donestart};
 
   my($type,$data) = MailScanner::Sendmail::ReadRecord($$this{_handle});
+  # p record handling by Glenn 2007-01-17
+  # assumption: ReadQf has already validated most of this queue file, so
+  # skip the sanity checks. Just do the seeks as needed and read the next
+  # record. Also, skip any deleted data records (type w). Could've done
+  # this with recursion:-).
+  while ($type eq 'p' || $type eq 'w') {
+      seek $$this{_handle}, $data+0, 0 if ($type eq 'p' && $data+0 > 0);
+      ($type,$data) = MailScanner::Sendmail::ReadRecord($$this{_handle});
+  }
   return undef if $type eq 'X';
   return $data;
 }