X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fgettime.lisp;fp=tests%2Fgettime.lisp;h=0000000000000000000000000000000000000000;hb=33b8a5afb55eb161ef04a1be94e6d2dca85c748c;hp=37461ffa87c200f0061a7b4bb421870665752ebf;hpb=32a1ec81381452961a16a0dea1aff5711d4a3ed0;p=uffi.git diff --git a/tests/gettime.lisp b/tests/gettime.lisp deleted file mode 100644 index 37461ff..0000000 --- a/tests/gettime.lisp +++ /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.lisp,v 1.1 2002/09/30 10:02:36 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"))) - -