From: ueno Date: Mon, 19 Mar 2007 08:15:01 +0000 (+0000) Subject: Decode uid name in print_string format, even for CMS protocol. X-Git-Tag: epg-0_0_11~64 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0400aa5df333ef752c2f22a6d166f141a6720b78;p=elisp%2Fepg.git Decode uid name in print_string format, even for CMS protocol. --- diff --git a/epg.el b/epg.el index 59cedc5..b760821 100644 --- a/epg.el +++ b/epg.el @@ -1737,25 +1737,27 @@ signatures should be included." (cons (epg--make-sub-key-1 (car lines)) (epg-key-sub-key-list (car keys))))) ((equal (aref (car lines) 0) "uid") + (setq string (copy-sequence (aref (car lines) 9))) + (while (string-match "\"" string index) + (setq string (replace-match "\\\"" t t string) + index (1+ (match-end 0)))) + (condition-case nil + (setq string (epg--decode-coding-string + (car (read-from-string (concat "\"" string "\""))) + 'utf-8)) + (error + (setq string (aref (car lines) 9)))) (epg-key-set-user-id-list (car keys) (cons (epg-make-user-id (if (aref (car lines) 1) (cdr (assq (string-to-char (aref (car lines) 1)) epg-key-validity-alist))) - (condition-case nil - (if cert - (epg-dn-from-string (aref (car lines) 9)) - (setq string (copy-sequence (aref (car lines) 9))) - (while (string-match "\"" string index) - (setq string (replace-match "\\\"" t t string) - index (1+ (match-end 0)))) - (epg--decode-coding-string - (car (read-from-string (concat "\"" string "\""))) - 'utf-8)) - (error (aref (car lines) 9)))) - (epg-key-user-id-list (car keys))))) - ((equal (aref (car lines) 0) "fpr") + (if cert + (epg-dn-from-string string) + string))) + (epg-key-user-id-list (car keys))))) + ((equal (aref (car lines) 0) "fpr") (epg-sub-key-set-fingerprint (car (epg-key-sub-key-list (car keys))) (aref (car lines) 9))) ((equal (aref (car lines) 0) "sig")