#|
This needs
~/gopher/cgi-bin/.lck
with
chmod go+w
and a READable starting number in
~/gopher/cgi-bin/.counter
with
chmod go+wr
(and
~/gopher/cgi-bin/counter
with
chmod go+rx
)
|#
(defpackage counter)
(in-package counter)
(handler-case
(with-open-file (lock ".lck" :direction :output)
(let ((number (1+ (with-open-file (in #p".counter"
:direction :input)
(read in)))))
(format t "WelCOM to our ~:R lucky visitor~%" number)
(with-open-file (out #p".counter" :direction :output
:if-exists :supersede)
(prin1 number out))))
(t (e) (format t "I'm upset about ~a~%" e)))