X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Fgettime.cl;fp=tests%2Fgettime.cl;h=0000000000000000000000000000000000000000;hb=a95b9a217335917d96b8c0cced4f49c3e4846115;hp=c562fade74e514648dace5c253ed1d531a32c08c;hpb=bcd9fb3deb580f2976e7505a7433795ed6ad1bb3;p=uffi.git diff --git a/tests/gettime.cl b/tests/gettime.cl deleted file mode 100644 index c562fad..0000000 --- a/tests/gettime.cl +++ /dev/null @@ -1,76 +0,0 @@ -;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- -;;;; ************************************************************************* -;;;; FILE IDENTIFICATION -;;;; -;;;; Name: gettime -;;;; Purpose: UFFI Example file to get time, use C structures -;;;; Programmer: Kevin M. Rosenberg -;;;; Date Started: Feb 2002 -;;;; -;;;; $Id: gettime.cl,v 1.9 2002/04/02 23:27:05 kevin Exp $ -;;;; -;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg -;;;; -;;;; UFFI users are granted the rights to distribute and use this software -;;;; as governed by the terms of the Lisp Lesser GNU Public License -;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. -;;;; ************************************************************************* - -(in-package :cl-user) - -(uffi:def-foreign-type time-t :unsigned-long) - -(uffi:def-struct tm - (sec :int) - (min :int) - (hour :int) - (mday :int) - (mon :int) - (year :int) - (wday :int) - (yday :int) - (isdst :int)) - -(uffi:def-function ("time" c-time) - ((time (* time-t))) - :returning time-t) - -(uffi:def-function ("localtime" c-localtime) - ((time (* time-t))) - :returning (* tm)) - -(uffi:def-type time-t :unsigned-long) -(uffi:def-type tm-pointer (* tm)) - -(defun gettime () - "Returns the local time" - (uffi:with-foreign-object (time 'time-t) -;; (declare (type time-t time)) - (c-time time) - (let ((tm-ptr (the tm-pointer (c-localtime time)))) - (declare (type tm-pointer tm-ptr)) - (let ((time-string (format nil "~2d/~2,'0d/~d ~2d:~2,'0d:~2,'0d" - (1+ (uffi:get-slot-value tm-ptr 'tm 'mon)) - (uffi:get-slot-value tm-ptr 'tm 'mday) - (+ 1900 (uffi:get-slot-value tm-ptr 'tm 'year)) - (uffi:get-slot-value tm-ptr 'tm 'hour) - (uffi:get-slot-value tm-ptr 'tm 'min) - (uffi:get-slot-value tm-ptr 'tm 'sec) - ))) - time-string)))) - - - - -#+examples-uffi -(format t "~&~A" (gettime)) - -#+test-uffi -(progn - (let ((time (gettime))) - (util.test:test (stringp time) t :fail-info "Time is not a string") - (util.test:test (plusp (parse-integer time :junk-allowed t)) - t - :fail-info "time string does not start with a number"))) - -