Implement MESSAGE-LENGTH.
authorChris Hanson <org/chris-hanson/cph>
Thu, 18 May 2000 19:59:37 +0000 (19:59 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 18 May 2000 19:59:37 +0000 (19:59 +0000)
v7/src/imail/imail-core.scm
v7/src/imail/imail-imap.scm

index 68683976414580992f2853a53facb40408cf2837..ceb4c1046b9ca351bce819d38a03745195e35a38 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-core.scm,v 1.70 2000/05/18 03:59:43 cph Exp $
+;;; $Id: imail-core.scm,v 1.71 2000/05/18 19:59:36 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
                     (rfc822:strip-comments (rfc822:string->tokens date))))))))
           (and (not (condition? t))
                t)))))
+
+(define-generic message-length (message))
+(define-method message-length ((message <message>))
+  (+ (reduce (lambda (header)
+              (+ (string-length (header-field-name header))
+                 (string-length (header-field-value header))
+                 2))
+            1
+            (message-header-fields message))
+     (string-length (message-body message))))
 \f
 ;;;; Message Navigation
 
index f026466caddef3963a0643279330fd0366df0ec5..81c489dec97bd7492f94e1dfaf075eb000f90852 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-imap.scm,v 1.54 2000/05/18 19:53:26 cph Exp $
+;;; $Id: imail-imap.scm,v 1.55 2000/05/18 19:59:37 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
                       (message-index message)
                       '(INTERNALDATE))
    'INTERNALDATE))
+
+(define-method message-length ((message <imap-message>))
+  (imap-message-length message))
 \f
 ;;; These reflectors are needed to guarantee that we read the
 ;;; appropriate information from the server.  Normally most message