[Mew-dist 11992] base64 encoding error

Masaki KONUMA konuma at example.com
2000年 1月 5日 (水) 15:45:41 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com>
> Emacs で実装されている base64 関係の関数を積極的に使うようにした Mew
> 1.94.1+ を alpha リリースします。

(setq estr "GyRCJEcjMiVQJSQlSEo4O3okckk9PCgkNyQ/JCQbKEI")
  --> "GyRCJEcjMiVQJSQlSEo4O3okckk9PCgkNyQ/JCQbKEI"
(mew-header-decode "ISO-2022-JP" "B" estr)
  --> Wrong type argument: stringp, nil

となります。
不正な base64 string に対して base64-decode-string が nil を返すためです。

(base64-decode-string estr)
  --> nil

パッチを送ります。

-- 小沼雅樹

-------------- next part --------------
--- ../mew-1.95b16/mew-bq.el	Fri Nov 12 14:37:25 1999
+++ mew-bq.el	Wed Jan  5 15:05:48 2000
@@ -80,7 +80,9 @@
      ((and (null hcs) (not (mew-case-equal charset mew-us-ascii)))
       mew-error-unknown-charset)
      (fun ;; hcs may be nil
-      (setq ret (mew-cs-decode-string (funcall fun estr) hcs))
+      (setq ret (mew-cs-decode-string
+		 (or (funcall fun estr) mew-error-illegal-base64)
+		 hcs))
       (mew-header-sanity-check-string ret))
      (t
       estr))))
@@ -142,7 +144,7 @@
 	  (not (zerop (logand len 3)))
 	  (< padlen 0)
 	  (> padlen 2))
-      mew-error-illegal-base64)  ;; return value
+      nil)  ;; return value
      ((zerop (setq len (- len padlen))) "")
      (t
       (setq ret (make-string (/ (* len 3) 4) ?a))


Mew-dist メーリングリストの案内