X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=examples%2Funion.lisp;h=c7022d83a79db2600e4b64166a2234c78a0a273a;hb=6ab554f2441048c9c726104d4f3c6a6acccaf383;hp=856ac4935787987d2db3a2ea561de1e81fd3ecd9;hpb=a95b9a217335917d96b8c0cced4f49c3e4846115;p=uffi.git diff --git a/examples/union.lisp b/examples/union.lisp index 856ac49..c7022d8 100644 --- a/examples/union.lisp +++ b/examples/union.lisp @@ -7,13 +7,10 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Mar 2002 ;;;; -;;;; $Id: union.lisp,v 1.1 2002/09/30 10:02:36 kevin Exp $ +;;;; $Id$ ;;;; -;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; This file, part of UFFI, is Copyright (c) 2002-2005 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) @@ -29,22 +26,22 @@ (let ((u (uffi:allocate-foreign-object 'tunion1))) (setf (uffi:get-slot-value u 'tunion1 'uint) ;; little endian - #-(or sparc sparc-v9 powerpc ppc) + #-(or sparc sparc-v9 powerpc ppc big-endian) (+ (* 1 (char-code #\A)) (* 256 (char-code #\B)) (* 65536 (char-code #\C)) - (* 16777216 128)) + (* 16777216 255)) ;; big endian - #+(or sparc sparc-v9 powerpc ppc) + #+(or sparc sparc-v9 powerpc ppc big-endian) (+ (* 16777216 (char-code #\A)) (* 65536 (char-code #\B)) (* 256 (char-code #\C)) - (* 1 128))) + (* 1 255))) (format *standard-output* "~&Should be #\A: ~S" (uffi:ensure-char-character (uffi:get-slot-value u 'tunion1 'char))) - (format *standard-output* "~&Should be negative number: ~D" - (uffi:get-slot-value u 'tunion1 'int)) +;; (format *standard-output* "~&Should be negative number: ~D" +;; (uffi:get-slot-value u 'tunion1 'int)) (format *standard-output* "~&Should be positive number: ~D" (uffi:get-slot-value u 'tunion1 'uint)) (uffi:free-foreign-object u)) @@ -69,11 +66,11 @@ #\A :test #'eql :fail-info "Error with union character") - #-(or sparc sparc-v9 mcl) - (util.test:test (> 0 (uffi:get-slot-value u 'tunion1 'int)) - t - :fail-info - "Error with negative int in union") + #-(or sparc sparc-v9 openmcl digitool) +;; (util.test:test (> 0 (uffi:get-slot-value u 'tunion1 'int)) +;; t +;; :fail-info +;; "Error with negative int in union") (util.test:test (plusp (uffi:get-slot-value u 'tunion1 'uint)) t :fail-info