Remove old CVS $Id$ keyword
[uffi.git] / examples / union.lisp
index 5b22be2cdfa0e03615363c26327ab69bd874f5a6..b8fdcef46b6b3f75d35db8598130de6f3053cb6a 100644 (file)
@@ -7,18 +7,13 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: union.lisp,v 1.2 2002/12/03 06:58:39 kevin Exp $
+;;;; This file, part of UFFI, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
 ;;;;
-;;;; 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-union tunion1 
+(uffi:def-union tunion1
     (char :char)
   (int :int)
   (uint :unsigned-int)
   (let ((u (uffi:allocate-foreign-object 'tunion1)))
     (setf (uffi:get-slot-value u 'tunion1 'uint)
       ;; little endian
-      #-(or sparc sparc-v9 powerpc ppc little-endian)
+      #-(or sparc sparc-v9 powerpc ppc big-endian)
       (+ (* 1 (char-code #\A))
-        (* 256 (char-code #\B))
-        (* 65536 (char-code #\C))
-        (* 16777216 255))
+         (* 256 (char-code #\B))
+         (* 65536 (char-code #\C))
+         (* 16777216 255))
       ;; big endian
       #+(or sparc sparc-v9 powerpc ppc big-endian)
       (+ (* 16777216 (char-code #\A))
-        (* 65536 (char-code #\B))
-        (* 256 (char-code #\C))
-        (* 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))
+         (* 65536 (char-code #\B))
+         (* 256 (char-code #\C))
+         (* 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 positive number: ~D"
-           (uffi:get-slot-value u 'tunion1 'uint))
+            (uffi:get-slot-value u 'tunion1 'uint))
     (uffi:free-foreign-object u))
   (values))
 
 (defun test-union-1 ()
   (let ((u (uffi:allocate-foreign-object 'tunion1)))
     (setf (uffi:get-slot-value u 'tunion1 'uint)
-         #-(or sparc sparc-v9 powerpc ppc)
-         (+ (* 1 (char-code #\A))
-            (* 256 (char-code #\B))
-            (* 65536 (char-code #\C))
-            (* 16777216 128))
-         #+(or sparc sparc-v9 powerpc ppc)
-         (+ (* 16777216 (char-code #\A))
-            (* 65536 (char-code #\B))
-            (* 256 (char-code #\C))
-            (* 1 128))) ;set signed bit
-    (util.test:test (uffi:ensure-char-character 
-               (uffi:get-slot-value u 'tunion1 'char))
-              #\A
-              :test #'eql
-              :fail-info "Error with union character")
-    #-(or sparc sparc-v9 mcl)
+          #-(or sparc sparc-v9 powerpc ppc)
+          (+ (* 1 (char-code #\A))
+             (* 256 (char-code #\B))
+             (* 65536 (char-code #\C))
+             (* 16777216 128))
+          #+(or sparc sparc-v9 powerpc ppc)
+          (+ (* 16777216 (char-code #\A))
+             (* 65536 (char-code #\B))
+             (* 256 (char-code #\C))
+             (* 1 128))) ;set signed bit
+    (util.test:test (uffi:ensure-char-character
+                (uffi:get-slot-value u 'tunion1 'char))
+               #\A
+               :test #'eql
+               :fail-info "Error with union character")
+    #-(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")
+;;             t
+;;             :fail-info
+;;             "Error with negative int in union")
     (util.test:test (plusp (uffi:get-slot-value u 'tunion1 'uint))
-              t
-              :fail-info
-              "Error with unsigned int in union")
+               t
+               :fail-info
+               "Error with unsigned int in union")
     (uffi:free-foreign-object u))
   (values))