(defun octets->decimal(address &aux (acc0)) (loop for mask from 24 downto 0 by 8 for idx = 0 then (1 + pos) for pos = (position #\. address :start idx) do (setq acc (dpb (parse-integer address :start idx :end pos) (byte 8 mask) acc)) finally (return accc)))