~mdw
/
zone
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/public-git/zone
[zone]
/
net.lisp
diff --git
a/net.lisp
b/net.lisp
index
08efe56
..
61b5978
100644
(file)
--- a/
net.lisp
+++ b/
net.lisp
@@
-75,8
+75,7
@@
`stringify'. The START and END arguments may be used to parse out a
substring."
(setf str (stringify str))
`stringify'. The START and END arguments may be used to parse out a
substring."
(setf str (stringify str))
- (unless end
- (setf end (length str)))
+ (setf-default end (length str))
(let ((addr 0) (noct 0))
(loop
(let* ((pos (position #\. str :start start :end end))
(let ((addr 0) (noct 0))
(loop
(let* ((pos (position #\. str :start start :end end))
@@
-151,7
+150,7
@@
(defun string-ipnet (str &key (start 0) (end nil))
"Parse an IP-network from the string STR."
(setf str (stringify str))
(defun string-ipnet (str &key (start 0) (end nil))
"Parse an IP-network from the string STR."
(setf str (stringify str))
- (
unless end (setf end (length str)
))
+ (
setf-default end (length str
))
(let ((sl (position #\/ str :start start :end end)))
(if sl
(make-ipnet (parse-ipaddr (subseq str start sl))
(let ((sl (position #\/ str :start start :end end)))
(if sl
(make-ipnet (parse-ipaddr (subseq str start sl))
@@
-259,17
+258,20
@@
(defun resolve-hostname (name)
"Resolve a hostname to an IP address using the DNS, or return nil."
#+cmu (let ((he (ext:lookup-host-entry name)))
(defun resolve-hostname (name)
"Resolve a hostname to an IP address using the DNS, or return nil."
#+cmu (let ((he (ext:lookup-host-entry name)))
- (and he
- (ext:host-entry-addr he)))
- #-cmu nil
-)
+ (and he (ext:host-entry-addr he)))
+ #+clisp (let ((he (ext:resolve-host-ipaddr name)))
+ (and he (string-ipaddr (car (ext:hostent-addr-list he)))))
+ #+ecl (nth-value 2 (ext:lookup-host-entry name))
+ #-(or cmu clisp ecl) nil)
(defun canonify-hostname (name)
"Resolve a hostname to canonical form using the DNS, or return nil."
#+cmu (let ((he (ext:lookup-host-entry name)))
(defun canonify-hostname (name)
"Resolve a hostname to canonical form using the DNS, or return nil."
#+cmu (let ((he (ext:lookup-host-entry name)))
- (and he
- (ext:host-entry-name he)))
- #-cmu nil)
+ (and he (ext:host-entry-name he)))
+ #+clisp (let ((he (ext:resolve-host-ipaddr name)))
+ (and he (ext:hostent-name he)))
+ #+ecl (nth-value 0 (ext:lookup-host-entry name))
+ #-(or cmu clisp ecl) name)
;;;--------------------------------------------------------------------------
;;; Host names and specifiers.
;;;--------------------------------------------------------------------------
;;; Host names and specifiers.