+2005-05-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * dns.el (query-dns-cached): New function.
+
2005-05-16 Katsumi Yamaoka <yamaoka@jpl.org>
* dgnushack.el: Autoload mail-extract-address-components for XEmacs.
;; connection to the DNS server.
(open-network-stream "dns" (current-buffer) server "domain")))))
+(defvar dns-cache (make-vector 4096 0))
+
+(defun query-dns-cached (name &optional type fullp reversep)
+ (let* ((key (format "%s:%s:%s:%s" name type fullp reversep))
+ (sym (intern-soft key dns-cache)))
+ (if (and sym
+ (boundp sym))
+ (symbol-value sym)
+ (let ((result (query-dns name type fullp reversep)))
+ (set (intern key dns-cache) result)
+ result))))
+
(defun query-dns (name &optional type fullp reversep)
"Query a DNS server for NAME of TYPE.
If FULLP, return the entire record returned.