- (cond ((string-equal "B" encoding)
- (base64-decode-string str))
- ((string-equal "Q" encoding)
- (q-encoding-decode-string str))
- (t (message "unknown encoding %s" encoding)
- nil))))
+ (cond
+ ((string-equal "B" encoding)
+ (if (and (string-match mime/B-encoded-text-regexp string)
+ (string-equal string (match-string 0 string)))
+ (base64-decode-string string)
+ (error "Invalid encoded-text %s" string)))
+ ((string-equal "Q" encoding)
+ (if (and (string-match mime/Q-encoded-text-regexp string)
+ (string-equal string (match-string 0 string)))
+ (q-encoding-decode-string string)
+ (error "Invalid encoded-text %s" string)))
+ (t
+ (error "Invalid encoding %s" encoding)
+ )))
+ )