Initial commit of newLISP.
[newlisp.git] / examples / finger
blobb68ac628ebfecdd3a5dccdf56db9bf310a74cf03
1 #!/usr/bin/newlisp
3 # v 1.1 changes for changed 'main-args'
4 # v 1.2 eliminated 'net-cleanup'
5 # v 1.3 replaced concat with append
6 # v 1.4 direct string form of net-send, eplace name with user
9 (define (finger nameSite , socket buffer user site)
10           (map set '(user site) (parse nameSite "@"))
11           (set 'socket (net-connect site 79))
12           (if (not socket)
13                 (begin
14                         (print "Could not connect\n")
15                         (exit)))
16           (if (not (net-send socket (append user "\r\n")))
17                 (print "no connection\n")
18                 (net-finger-receive socket)))
19                 
20 (define (net-finger-receive socket , str)
21         (if (not (net-receive socket 'str 512)) 
22                 (print "Receive failed\n")
23         (print "\n" str "\n"))
24         (if socket (net-close socket)))
26 (set 'params (main-args))
27 (if (< (length params) 3) 
28   (begin 
29     (print "USAGE: finger name@host\n")
30     (exit)))
31 (finger (nth 2 params))
32 (exit)
34 ;eof;